кодесурса
«MongoDB

Оператор этапов агрегации MongoDB - $ unwind

script1adsense2code
script1adsense3code

Описание

Оператор этапов раскрутки MongoDB $ используется для деконструкции поля массива из входных документов для вывода документа для каждого элемента. Каждый выходной документ является входным документом, в котором значение поля массива заменяется элементом.

Синтаксис:

 {$ unwind: <путь к полю>}

Нужно помнить:

  • Если значение поля не является массивом, db.collection.aggregate () генерирует ошибку.
  • Если указанный путь для поля не существует во входном документе, конвейер игнорирует входной документ и не выводит ничего.
  • Если во входном документе массив пуст, конвейер игнорирует входной документ и не выводит ничего.

Образец коллекции test1

{
        "_id" : 1,
        "shirt" : "Half Sleeve",
        "sizes" : [
                "medium",
                "XL",
                "free"
        ]
}
{ "_id" : 2, "shirt" : "Full Sleeve", "sizes" : [ ] }

Пример: $ unwind

Следующая стадия агрегации $ unwind используется для вывода документа для каждого элемента в массиве размеров.

> db.test1.aggregate( [ { $unwind : "$sizes" } ] );

Выход:

 > db.test1.aggregate ([{$ unwind: "size sizes}}]);
{"_id": 1, "рубашка": "полурукав", "размеры": "средний"}
{"_id": 1, "рубашка": "полурукав", "размеры": "XL"}
{"_id": 1, "рубашка": "Половина рукава", "размеры": "бесплатно"}

Здесь из результата видно, что каждый документ идентичен входному документу, за исключением значения поля размеров, которое содержит значение из массива исходных размеров.

Предыдущая: $ redact
Далее: $ group

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code