c# - 如何使用 MongoDB C# 将新对象插入(推送)到嵌套数组中?

标签 c# arrays mongodb mongodb-.net-driver

{
    "_id" : "",
    "Username" : "",
    "Points" : 0,
    "CompletedAchievements" : [],
    "ActiveAchievements" : [],
    "Kudos" : [],
    "Teams" : [],
    "UserType" : "Standard"
}

这是我想要插入的记录。 我正在尝试将以下对象添加到 ActiveAchievements 数组中。

{
    "_id": "my new id",
    "progress": 10
}

我希望将其添加到事件成就数组中,该数组已存在于我的数据库中的记录(具有我可以获取的唯一 ID)中。以及 future 更多。

我如何使用 MongoDb.Driver 来做到这一点?在 C# 中

最佳答案

假设有一个名为 users 的集合,其文档的 Username 为“John Doe”,以下代码将添加 { "_id": "my new id ", "progress": 10 }ActiveAchievements 数组字段。

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

引用文献:

关于c# - 如何使用 MongoDB C# 将新对象插入(推送)到嵌套数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66386320/

相关文章:

c# - XmlNode 值与 InnerText

c++ - 在函数内部创建全局动态数组

python - 如何在 mongodb 集合中搜索嵌套在数组中的字典键

node.js - 覆盖 Mongoose 模型方法

c# - 我该如何组织这段代码?

c# - 如何有效地表示一个非常大的位数组?

c# - SQL Server 2008中是否有类似于BulkCopy的BulkUpdate命令

java - 将空数组添加到 JSON 对象

arrays - 如何遍历 Swift 中的对象数组?

mongodb - 为什么启动 mongos 时配置服务器字符串顺序敏感?