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

Brug resultat fra tidligere forespørgsel i en anden forespørgsel i mongodb

Du kan bruge en aggregering med en $match for at matche din tilstand og $lookup for at kortlægge dit lokale felt user til din user samling _id felt :

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

I Javascript med mongoose for eksempel kan du gøre dette med :

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. Multi-sprog attributter i MongoDB

  2. Hvordan installerer jeg mongodb på beaglebone black

  3. Afinstaller Redis på Mac OSX. Ældre version kører efter installation af opdatering

  4. Få dokumenter med tags på listen, sorteret efter det samlede antal matches