簡體   English   中英

如何使用mongodb迭代對象內的數組

[英]How to iterate array inside the object using mongodb

我嘗試使用 mongodb 迭代對象鍵值內的數組。但它不起作用。如何實現它。

數據庫代碼


您可以使用以下聚合

db.product.aggregate([
  { "$lookup": {
    "from": "category",
    "localField": "id",
    "foreignField": "_id",
    "as": "ordersetails"
  }},
  { "$project": {
    "product_name": 1,
    "product_image": { "$arrayElemAt": ["$product_image", 0] },
    "ordersetails": { "$arrayElemAt": ["$ordersetails.name", 0] }
  }}
]).toArray()

如果 orderdetails 數組中有多個對象,則可以使用以下查詢:

db.product.aggregate([
    {
      $lookup: {
        from: "category",
        localField: "category_id",
        foreignField: "id",
        as: "ordersetails"
      }
    },
    {
      $project: {
        product_name: 1,
        product_image: { $arrayElemAt: ["$image", 0] },
        ordersetails: 1
      }
    }, 
    {
       $unwind: "ordersetails"
    },
    {
      $project: {
        product_name: 1,
        product_image: 1,
        ordersetails: "$ordersetails.name"}
      }
    }, 
  ]).toArray();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM