使用自引用对象在集合中搜索

1gn*_*ter 2 mongodb

我有一个集合:

{
_id - ObjectId
name - string
location - string
..
parentId - ObjectId //link to parent object
}
Run Code Online (Sandbox Code Playgroud)

我有一个过滤器查询,即使使用int值(在C#中)它也很好用:

var q = Query.Matches(column, new BsonRegularExpression(string.Format("/^{0}/i", name)));
Run Code Online (Sandbox Code Playgroud)

我应该怎么做才能搜索父对象的名称?原因是,使用LINQ,没有问题,但是可以在服务器端进行搜索吗?

Mat*_*att 5

MongoDB中没有连接,但您基本上有两个选择:

解决方案1:

  1. 通过名称查询并获取结果(父母)
  2. 对于每一个文件进账,再次查询并获取所有文件,其中_idparentId匹配(孩子)

解决方案2:

除此之外parentId,还可以name直接为每个文档和查询保存父级的名称parentName