如何使用MongoDB C#将新对象插入(推送)嵌套数组?
这是我想插入的记录。 我正在尝试将以下对象添加到ActiveAcquisitions数组中如何使用MongoDB C#将新对象插入(推送)嵌套数组?,c#,arrays,mongodb,mongodb-.net-driver,C#,Arrays,Mongodb,Mongodb .net Driver,这是我想插入的记录。 我正在尝试将以下对象添加到ActiveAcquisitions数组中 { "_id" : "", "Username" : "", "Points" : 0, "CompletedAchievements" : [], "ActiveAchievements" : [], "Ku
{
"_id" : "",
"Username" : "",
"Points" : 0,
"CompletedAchievements" : [],
"ActiveAchievements" : [],
"Kudos" : [],
"Teams" : [],
"UserType" : "Standard"
}
我希望将其添加到活动成就数组中,该数组已存在于我数据库中的记录(该记录具有唯一的ID,我可以通过该ID获取)。将来还会有更多
如何使用MongoDb.Driver实现这一点?在C#中,假设有一个名为
users
的集合,文档的Username
为“John Doe”,下面的代码将把{u id:“我的新id”,“progress”:10}
添加到ActiveAcquisitions
数组字段中
{
"_id": "my new id",
"progress": 10
}
var collection=database.GetCollection(“用户”);
var filter=Builders.filter.Eq(“用户名”、“约翰·多伊”);
var update=Builders.update
.推(
“积极的成就”,
新的B文件(“我的新id”)。添加(“进度”,10);
var result=collection.UpdateOne(过滤器,更新);
Console.WriteLine(result.ModifiedCount);//当一个文档更新时,应打印1
参考资料:
- ,, 请参阅更新文档部分
var collection = database.GetCollection<BsonDocument>("users");
var filter = Builders<BsonDocument>.Filter.Eq("UserName", "John Doe");
var update = Builders<BsonDocument>.Update
.Push<BsonDocument>(
"ActiveAchievements",
new BsonDocument("_id", "my new id").Add("progress", 10));
var result = collection.UpdateOne(filter, update);
Console.WriteLine(result.ModifiedCount); // should print 1, as one document is updated