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

Mongodb развива вложени документи

Знам, че това, което се опитвате да направите, е възможно с MongoDB. aggregate() командата може да приема толкова аргументи, колкото са ви необходими.

В mongo shell, команда като тази

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

ще развие items поддокумент, след това images поддокумент.

Въз основа на кода във вашия въпрос, може би това ще работи

$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. Как да задам диапазон на отместване на буфера в MongoDB, не позволява качване на повече от 16 MB файл в BSON обект?

  2. MongoDB текстов индексиращ масив обекти колони

  3. ValueError:<Твърде много стойности за разопаковане>

  4. Mongoose updateMany с различни стойности по уникален идентификатор като имейл без цикъл

  5. Как да намерите номера на реда в сортирана MongoDB колекция, за да изчислите неговия процентил?