联接操作不起作用 mongo c# 驱动程序 linq

本文关键字:驱动程序 linq mongo 不起作用 操作 | 更新日期: 2023-09-27 18:36:38

嗨,我正在研究mongo c#驱动程序v2.2.3,他们引入了连接操作($lookup)。 当我尝试执行连接操作时,我的联合文档集合计数为零。我已经点击了这个链接 http://mongodb.github.io/mongo-csharp-driver/2.2/reference/driver/crud/linq/我的代码是

    var query = from c in collection1.AsQueryable<Class>()
        join m in collection2.AsQueryable<ClassTwo>() on 
 c.ClassTwoId equals m.Id into j select new { c,j }; 
     var r = await query.ToListAsync();

我的班级是..

 public class Class
    {
        public ObjectId Id { get; set; }
        public string SomeText{ get; set; }
        public ObjectId ClassTwoId { get; set; }
        public ObjectId ClassThrId { get; set; }
        public DateTime CreatedDate { get; set; }
    [BsonIgnore]
        public ClassTwo ClassTwoDeatils { get; set; }
}

我不知道我哪里做错了...知道吗?

联接操作不起作用 mongo c# 驱动程序 linq

此博客提到 C# 驱动程序 v2.2.3 中存在一个错误,并且需要 v2.2.4 才能将 $lookup 函数与驱动程序一起使用。可能值得升级到 2.2.4 以查看是否可以解决您的问题。

https://www.axonize.com/blog/joining-collections-mongodb-using-c-driver-linq/