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");