如何用MongoDB C#驱动程序查找?

Adr*_*sca 4 c# mongodb mongodb-.net-driver

如何使用MongoDB C#驱动程序执行$ ​​lookup?我在这里的驱动程序文档中找不到它:

https://docs.mongodb.org/getting-started/csharp/query/

但是如果我在他们的JIRA中正确理解这张票,它应该在驱动程序的2.2版本中:

https://jira.mongodb.org/browse/CSHARP-1374

M. *_*ara 11

您也可以使用collection.Aggregate().Lookup()方法或通过将查找添加到聚合阶段来实现.

collection.Aggregate()
    .Lookup("foreignCollectionName", "localFieldName", "foreignFieldName", "result");
Run Code Online (Sandbox Code Playgroud)


小智 5

如果在IMongoCollection <T>上使用AsQueryable()扩展方法,则可以使用LINQ接口作为示例。

var query = from p in collection.AsQueryable()
            join o in otherCollection on p.Name equals o.Key into joined
            select new { p.Name, AgeSum: joined.Sum(x => x.Age) };
Run Code Online (Sandbox Code Playgroud)

这是从mongodb csharp驱动程序文档中复制的,此处为http://mongodb.github.io/mongo-csharp-driver/2.2/reference/driver/crud/linq/#lookup

  • 您需要“using MongoDB.Driver.Linq;”命名空间才能使其工作 (4认同)