0
当我试图找到一个匹配ID的集合om时,在这里有一种MongoDB问题。 由于我建立了一种基于MongoDB的树结构。我拥有包含姓名,父母和孩子等多重属性的对象,以便他们知道这些关系。 现在我可以通过它的子标识并加载对象,并逐个加载每个对象。我多么注意到它的速度更快让它们成为一个集合。C#查找MongoDB中列表<string>中的字符串
所以我现在的问题是,如何在集合中找到在MongoDB中表示的树节点对象中的intrest ID。的MongoDB的文档怎么看待
{
"_id" : ObjectId("523de6c6d7b47f1f74c98ba2"),
"IDType" : "root",
"Name" : "test root",
"Relations" : [{
"Children" : {
"ChildrenList" : ["523de725d7b47f1d0c8242f1", "523de746d7b47f1d0c8242f5"]
},
"Parents" : {
"ParentList" : []
}
}]
}
所以,我将如何找到ID之一,通过在ChildrenList
一个ID匹配
例子吗? 这是Relations
是Children and Parents
的数组。这两个包含要匹配的ID数组。
已经尝试过了,没有成功。
IMongoQuery searchQuery = Query.ElemMatch("Children", Query.EQ("ChildrenList", "523de746d7b47f1d0c8242f5"));
“Children”字段是'“关系”的后裔,因此最低限度需要将其包含在查询中。 '“Relations.Children”' – WiredPrairie
我也不明白为什么孩子和父母被存储在关系数组中,然后有一个额外的对象级别,而不是直接存储。 – WiredPrairie
这是因为应该有可能为单个对象创建多个父 - 节 - 子关系。不是我说这是平常的,但正如我曾经在可以使用的场景中一样,我想以最简单的方式实现这一点。否则,你必须假装它,这可能是安静的杂乱。 –