2 votes

Comment itérer un tableau à l'intérieur d'un objet avec mongodb ?

J'ai essayé d'itérer un tableau à l'intérieur de l'objet valeur clé en utilisant mongodb.mais cela ne fonctionne pas.comment faire ?

Code de la base de données

2voto

Anthony Winzlet Points 10216

Vous pouvez utiliser l'agrégation suivante

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()

0voto

Rishabh Garg Points 363

Si vous avez plusieurs objets dans le tableau orderdetails, vous pouvez utiliser la requête suivante :

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();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X