使用 MongoDB C# 驱动程序将项目添加到嵌套 object 的嵌套数组
Add item to nested array of nested object using MongoDB C# Driver
我正在尝试使用 MongoDB C# 驱动程序将项目添加到 BSON 文档内的嵌套数组中。我搜索了 SO,但是到目前为止我发现的示例中 none 与我正在尝试做的相匹配。
我在 Mongo 中有一个 top-level "Organizations" collection。这包含具有以下结构的多个组织 objects:
{
"id":"Org1",
"Name":"First Org",
"Divisions":[
{
"id":"Div1",
"Name":"First Division",
"UsersInDivision":[
"User1",
"User2"
]
}
]
}
我有以下POCO类
public class Organization
{
public string Id { get; set; }
public string Name { get; set; }
public IList<Division> Divisions { get; set; }
}
public class Division
{
public string Id { get; set; }
public string Name { get; set; }
public IList<string> UsersInDivision { get; set; }
}
我想将字符串 "User3" 添加到部门 "Div1" 或组织 "Org1" 的 UsersInDivision collection。实现这一目标的最佳方法是什么?我正在尝试尽可能使用 MongoDB 数据访问 类 的强类型版本。
没有用于执行此类操作的类型化版本查询,您必须使用基于字符串的查询
var query = Query.And(Query.EQ("id", "Org1"), Query.EQ("Divisions.id", "Div1"));
collection.Update(query, Update.AddToSet("Divisions.$.UsersInDivision", "User3"));
您不能使用强类型版本的原因是 $
运算符。
当前版本的 mongodb c# 驱动程序中没有 $
。 check here
我正在尝试使用 MongoDB C# 驱动程序将项目添加到 BSON 文档内的嵌套数组中。我搜索了 SO,但是到目前为止我发现的示例中 none 与我正在尝试做的相匹配。
我在 Mongo 中有一个 top-level "Organizations" collection。这包含具有以下结构的多个组织 objects:
{
"id":"Org1",
"Name":"First Org",
"Divisions":[
{
"id":"Div1",
"Name":"First Division",
"UsersInDivision":[
"User1",
"User2"
]
}
]
}
我有以下POCO类
public class Organization
{
public string Id { get; set; }
public string Name { get; set; }
public IList<Division> Divisions { get; set; }
}
public class Division
{
public string Id { get; set; }
public string Name { get; set; }
public IList<string> UsersInDivision { get; set; }
}
我想将字符串 "User3" 添加到部门 "Div1" 或组织 "Org1" 的 UsersInDivision collection。实现这一目标的最佳方法是什么?我正在尝试尽可能使用 MongoDB 数据访问 类 的强类型版本。
没有用于执行此类操作的类型化版本查询,您必须使用基于字符串的查询
var query = Query.And(Query.EQ("id", "Org1"), Query.EQ("Divisions.id", "Div1"));
collection.Update(query, Update.AddToSet("Divisions.$.UsersInDivision", "User3"));
您不能使用强类型版本的原因是 $
运算符。
当前版本的 mongodb c# 驱动程序中没有 $
。 check here