我有下列课程
public class Group {
[BsonId]
public ObjectID _id {get; set;}
[BsonElement("Me")]
public Members Dictionary<ObjectId, UserGroupProperties> Members {get; set;}
}
如何查询成员属性?其中memebres.objectid==objectid?
谢谢!
最佳答案
MongoDB有一个“dot notation”用于访问子对象或数组。
通常,查询将类似于以下内容:
Query.EQ("Me._id", objectid)
并将找到此结构的数据:
{
_id: ObjectId(),
me: [
{ _id: ObjectId(): { UserGroupProperties } },
{ _id: ObjectId(): { other UserGroupProperties } }
]
}
但是,看起来您的数据结构有点不同。你的数据如下吗?
{
_id: ObjectId(),
me: {
ObjectId(): { UserGroupProperties },
ObjectId(): { other UserGroupProperties }
}
}
如果是的话,那你就是在寻找“我。客体”的存在。这是不同的。
这里要注意的一件大事是MongoDB将返回整个匹配的文档。因此,如果您要查找单个
UserGroupProperties
,那么查询将返回整个Group
。关于mongodb - 如何在MongoDB上查询字典,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7232216/