MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Използвайте резултат от предишна заявка в друга заявка в mongodb

Можете да използвате агрегиране с $match за да съответства на вашето състояние и $lookup за да картографирате вашето локално поле user на вашия user колекция _id поле :

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

В Javascript, с mongoose например можете да направите това с :

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Настройка на MongoDB + Django

  2. Получаване на списък с уникални вградени/вложени обекти в документ на MongoDB

  3. Грешка в Mongoose Promise

  4. намерете идентификатора на последния поддокумент, вмъкнат в mongoose

  5. Колекция в колекция