繁体   English   中英

C#在列表中查找字符串 <string> 在MongoDB中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM