sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose - fråga för att få data från flera samlingar

Det är möjligt att du bör använda aggregation .det borde fungera.Initiera variabeln

    var mongoose = require('mongoose');
    var userCollection = require('./user');//import user model file
    var resources = {
    nick_name: "$nick_name",
    email: "$email"};

    userCollection.aggregate([{
            $group: resources
        }, {
            $lookup: {
                from: "Comments", // collection to join
                localField: "_id",//field from the input documents
                foreignField: "user_id",//field from the documents of the "from" collection
                as: "comments"// output array field
            }
        }, {
            $lookup: {
                from: "Post", // from collection name
                localField: "_id",
                foreignField: "user_id",
                as: "posts"
            }
        }],function (error, data) {
         return res.json(data);
     //handle error case also
});


  1. MongoDB aggregate() - error TypeError:Kan inte anropa metoden 'forEach' av undefined

  2. hur får man nycklar som inte matchar ett visst mönster i redis?

  3. MEAN-Stack spara en array i MongoDB med mongoose

  4. Det går inte att installera mongodb på linux