sql >> Database >  >> NoSQL >> MongoDB

Gebruik het resultaat van de vorige zoekopdracht in een andere zoekopdracht in mongodb

U kunt een aggregatie gebruiken met een $match overeenkomen met uw conditie en $lookup om uw lokale veld user in kaart te brengen aan uw user verzameling _id veld :

db.a.aggregate(
    [{
        $match: {
            "type": ObjectId("50ed90f5a70defef23000002"),
            "config.name": "alpha"
        }
    }, {
        $lookup: {
            from: "users",
            localField: "user",
            foreignField: "_id",
            as: "users"
        }
    }, {
        $unwind: "$users"
    }]);

In Javascript, met mongoose u kunt dit bijvoorbeeld doen met :

YourModel.aggregate(
    [{
        $match: {
            "type": ObjectId("50ed90f5a70defef23000002"),
            "config.name": "alpha"
        }
    }, {
        $lookup: {
            from: "users",
            localField: "user",
            foreignField: "_id",
            as: "users"
        }
    }, {
        $unwind: "$users"
    }],
    function(err, result) {
        console.log("lastname : " + result.users.lastname);
    });


  1. Mongo DB ISO-formaat

  2. Is het mogelijk om de standaard TimeZone in MongoDB te wijzigen met Rails 3?

  3. Apache HBase-replicatie:operationeel overzicht

  4. Spring Data Mongo kan PersistentEntity voor Enum niet vinden