sql >> Database teknologi >  >> NoSQL >> MongoDB

Træk underdokumenter fra indsamling i aggregeret pipeline

Som du hentydede til, skal du omgruppere de afviklede, filtrerede dokumenter tilbage til deres oprindelige form. Du kan gøre dette med $group :

Collection.aggregate([
        { $match:
            { _id: ObjectID(collection_id) }
        },
        { $unwind: "$images" },
        { $match:
            { "images.deleted": null }
        },

        // Regroup the docs by _id to reassemble the images array
        {$group: {
            _id: '$_id',
            name: {$first: '$name'},
            images: {$push: '$images'}
        }}

    ], function (err, result) {
    if (err) {
        console.log(err);
        return;
    }
    console.log(result);
});



  1. Skal jeg rense brugerinput, før jeg indsætter i MongoDB (MongoDB+Node js combo)

  2. MongoDB:Sådan laver du en tekstsøgning og sorterer efter en dato

  3. Opdatering af indlejret dokumentejendom i Mongodb

  4. MongoDB - Sorter resultaterne af en forespørgsel