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

Jak wykonać zapytanie dotyczące obiektów, do których istnieją odwołania w MongoDB?

Możesz to teraz zrobić w Mongo 3.2 za pomocą $lookup

$lookup przyjmuje cztery argumenty

from :Określa kolekcję w tej samej bazie danych, z którą ma zostać wykonane łączenie. Kolekcji z kolekcji nie można podzielić na fragmenty.

localField :Określa pole z danych wejściowych dokumentów do etapu wyszukiwania $. $lookup wykonuje dopasowanie równości na localField do outsideField z dokumentów z kolekcji.

foreignField :Określa pole z dokumentów w kolekcji z.

as :określa nazwę nowego pola tablicy do dodania do dokumentów wejściowych. Nowe pole tablicy zawiera pasujące dokumenty z kolekcji from.

db.Foo.aggregate(
  {$unwind: "$bars"},
  {$lookup: {
    from:"bar",
    localField: "bars",
    foreignField: "_id",
    as: "bar"

   }},
   {$match: {
    "bar.testprop": true
   }}
)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wiele odniesień do schematów w pojedynczej tablicy schematów — mangusta

  2. MongoDB:Jak sprawdzić, czy pole tablicy zawiera element?

  3. Rozwiązywanie problemów z klastrem z fragmentami MongoDB

  4. odpowiednik runCommand dla nodejs-native-mongodb

  5. Zmień typ pola w agregacji mongoDB i czy $lookup używa indeksu na polach, czy nie?