相关疑难解决方法(0)

$ find在数组中的ObjectId

在一个ObjectIds数组而不仅仅是一个ObjectId的字段上执行$ lookup的语法是什么?

示例订单文档:

{
  _id: ObjectId("..."),
  products: [
    ObjectId("..<Car ObjectId>.."),
    ObjectId("..<Bike ObjectId>..")
  ]
}
Run Code Online (Sandbox Code Playgroud)

不工作查询:

db.orders.aggregate([
    {
       $lookup:
         {
           from: "products",
           localField: "products",
           foreignField: "_id",
           as: "productObjects"
         }
    }
])
Run Code Online (Sandbox Code Playgroud)

期望的结果

{
  _id: ObjectId("..."),
  products: [
    ObjectId("..<Car ObjectId>.."),
    ObjectId("..<Bike ObjectId>..")
  ],
  productObjects: [
    {<Car Object>},
    {<Bike Object>}
  ],
}
Run Code Online (Sandbox Code Playgroud)

mongodb mongodb-query aggregation-framework

86
推荐指数
5
解决办法
8万
查看次数