配列を更新するコードをいくつか追加しました(セットに追加)。コードは現在、レガシービルダーを使用している:AddToSetEachオペレータが正しいクエリを返しません(Builders v 2.4.4)
var data = new[] { 10, 20, 30 };
var fieldName = "data";
var oldWay = Update.AddToSetEach(fieldName , new BsonArray(data));
Console.WriteLine($"Old way:\n {oldWay.ToJson()} \n\n");
これは完全に、版画作品:
Old way:
{ "$addToSet" : { "users" : { "$each" : [10, 20, 30] } } }
しかし、新しいビルダークラスを使用しようとしたとき、私はそれが正常に動作させることはできません。私はMongoDB.Driver 2.4.4を使用しています。私のコード:
var data = new[] { 10, 20, 30 };
var fieldName = "data";
var newWay = Builders<BsonDocument>.Update.AddToSetEach(fieldName, new BsonArray(data)).ToJson();
Console.WriteLine($"New way:\n {newWay} \n\n");
出力は次のようになります。
New way:
{ "_t" : "AddToSetUpdateDefinition`2" }
任意の考え?
ありがとうございました!
可能な複製(HTTPS [私はモンゴシェルで実行することができ、正規のJSONのmongoクエリにFilterDefinition翻訳] ://stackoverflow.com/questions/32047692/translate-filterdefinitiontdocument-to-regular-json-mongo-query-that-i-can-run) –
Veeram