MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Użyj wyniku z poprzedniego zapytania w innym zapytaniu w mongodb

Możesz użyć agregacji z $match pasujące do Twojego warunku i $lookup aby zmapować lokalne pole user do Twojego user kolekcja _id pole :

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

W JavaScript, z mongoose na przykład możesz to zrobić za pomocą :

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. Powolne zapytanie o zakres w indeksie wielokluczowym

  2. Pobieranie słownika wewnątrz listy przez klucz w mongoDB (mongoengine)

  3. node.js zapisuje duże liczby zmiennoprzecinkowe do mongo do wyszukiwania

  4. Indeksowanie kilku pól w mongoDB

  5. Pobierz dane z kolekcji MongoDB do Swing JTable