代码之家  ›  专栏  ›  技术社区  ›  Tim Jarvis

MongoDB选择结果上有连接的多个

  •  2
  • Tim Jarvis  · 技术社区  · 6 年前

    我正试图使用mongodb linq驱动程序对select many的结果中的一个集合执行join

    伪代码是

    from x in something
    from y in x.subcollection
    join a in detailed on y.id equals a.id
    select new 
    {
       x.field,
       x.someotherfield,
       a.somedetail,
       a.someotherdetail
    }
    

    不幸的是,这个语法给了我

    System.NotSupportedException : $project or $group does not support {document}.
    

    我也愿意通过聚合流水线FLUENT库来实现这一点,如果它不可能使用LINQ提供程序,但是我不知道语法,文档是…缺少…

    我想这将是一个放松,查找和投影-但如何?

    ----编辑-----

    越来越近,但还是没有雪茄…

    enter image description here

    因此,展开似乎工作正常,查找也工作正常,问题是试图在投影阶段处理生成的bSondocument。

    我知道有些类型重载可以提供类型,但是为每个管道的每个阶段创建中间类型是不实际的。

    我的问题是。

    • 我似乎不得不硬铸bsonvalue而不是使用 假设方法,这看起来很奇怪(错误?)
    • 加入的集合是 作为一个数组(如预期)包含在我的案例中,它将始终有1 记录,我可以得到第一个好的作为辅助文件,但我不能钻 再深入一点([“firstname”]调用失败,出现“no matching” 找到创建者“

    请帮忙!

    0 回复  |  直到 6 年前