这里有一些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"));
答案 0 :(得分:1)
好的,因为我找到了解决方案,感谢WiredPrairie,我想我应该发布它。 解决方案显然不是将ElemMatch用于零件,而是像这样写。
IMongoQuery searchQuery = Query.EQ("Relations.Parents.ParentList", objectID);
无论如何,请向正确的方向寻求帮助。