[英]MongoDB C# Find documents where List<string> contains value of another List<string>
[英]C# Find string in List<string> in MongoDB
我在这里遇到一种MongoDB问题,因为我试图查找匹配ID的集合。 由于我正在建立一种基于MongoDB的树结构。 我的对象包含多个属性,例如姓名,父母和子女,以便他们知道它们之间的关系。 现在,我可以从一个对象的子ID开始,然后逐个加载每个对象。 我怎么注意到它要快得多才能把它们当作一个收藏。
所以现在我的问题是,如何在MongoDB中表示的树节点对象的集合中找到intrest的ID。
mongoDB文档外观的示例
{
"_id" : ObjectId("523de6c6d7b47f1f74c98ba2"),
"IDType" : "root",
"Name" : "test root",
"Relations" : [{
"Children" : {
"ChildrenList" : ["523de725d7b47f1d0c8242f1", "523de746d7b47f1d0c8242f5"]
},
"Parents" : {
"ParentList" : []
}
}]
}
因此,如何通过ChildrenList
中的ID匹配找到一个ID? 由于Relations
是一系列的Children and Parents
。 并且这两个包含要匹配的ID数组。
已经尝试成功了。
IMongoQuery searchQuery = Query.ElemMatch("Children", Query.EQ("ChildrenList", "523de746d7b47f1d0c8242f5"));
好的,由于WiredPrairie我找到了解决方案,所以我认为应该发布它。 解决方案显然不是将ElemMatch用于零件,而是这样编写。
IMongoQuery searchQuery = Query.EQ("Relations.Parents.ParentList", objectID);
无论如何,感谢您对正确方向的帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.