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

Mongodb rozwija zagnieżdżone dokumenty

Wiem, że to, co próbujesz zrobić, jest możliwe dzięki MongoDB. aggregate() polecenie może przyjąć tyle argumentów, ile potrzebujesz.

W powłoce mongo polecenie takie jak to

db.collection.aggregate(
  { $project: {
    _id: 1,
    items: 1
  } },
  { $unwind: '$items' },
  { $unwind: '$items.images' }
);

rozwinie items poddokument, a następnie images poddokument.

Na podstawie kodu w Twoim pytaniu może to zadziała

$project = array(
  '$project' => array(
    '_id' => 1,
    'items' => 1,
  )
);

$unwind_items = array(
  '$unwind' => '$items'
);

$unwind_images = array(
  '$unwind' => '$items.images'
);


$query = $mongo->store->aggregate($project,$unwind_items,$unwind_images);



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Węzeł MongoDB sprawdza, czy identyfikator obiektu jest prawidłowy

  2. Podstawowe zapytania między datami $gte, $lte itp

  3. $set odpowiednik MongoDb w jego sterowniku java

  4. nie można uruchomić kontenera mongoDb w dockerze dla systemu Windows przy użyciu systemu plików linux

  5. NoSQL (MongoDB) vs Lucene (lub Solr) jako Twoja baza danych