Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加到子BsonDocument_C#_Mongodb_Bson - Fatal编程技术网

C# 添加到子BsonDocument

C# 添加到子BsonDocument,c#,mongodb,bson,C#,Mongodb,Bson,我有以下几点。它起作用了 private static async Task AddAndUpdateNestedDocument(IMongoCollection<BsonDocument> collection) { var key = "bert"; var filter = Builders<BsonDocument>.Filter.Exists(key); await collection.Dele

我有以下几点。它起作用了

  private static async Task AddAndUpdateNestedDocument(IMongoCollection<BsonDocument> collection)
  {
      var key = "bert";
      var filter = Builders<BsonDocument>.Filter.Exists(key);
      await collection.DeleteManyAsync(filter);
      var subkey = "friend";
      var document = new BsonDocument(key, new BsonDocument(subkey, "ernie"));
      await collection.InsertOneAsync(document);
      var updater = Builders<BsonDocument>.Update.Set("sesame", "street");
      await collection.UpdateOneAsync(filter, updater);
  }
这很好,但是我真正想做的是让update命令在“bert”子文档中插入“sesame”和“street”,这样它就结束了:

{ "_id" : ObjectId("5ef62acf152cc17a1c139f6d"), "bert" : { "friend" : "ernie" }, "sesame" : "street" }
{ "_id" : ObjectId("5ef62acf152cc17a1c139f6d"), "bert" : { "friend" : "ernie", "sesame" : "street" } }

如何操作?

对于嵌套字段,您可以使用:

Builders.Update.Set(key+“.sesame”、“street”);

你能试试
Builders.Update.Set(“bert.sesame”、“street”)?宾果,成功了
Builders<BsonDocument>.Update.Set(key + ".sesame", "street");