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

Агрегиране на Mongo, проектирайте подполе на първия елемент в масива

В случай, че използвате поне MongoDB v3.2, можете да използвате $arrayElemAt оператор за това. Заявката по-долу прави това, което искате. Той обаче няма да върне никакви данни за извадката, която сте предоставили, тъй като "Instructions.1": { $exists: true } филтър премахва примерния документ.

db.getCollection('Orders').aggregate([{
    $match: {
        "Instructions.1": {
            $exists: true
        }
    }
}, {
    $project: { 
        "_id": 0, 
        "UserId": "$User.EntityId", 
        "ItemName": { $arrayElemAt: [ "$Items.Details.ItemName", 0 /* first item! */] }
    }
}])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Функция за извикване в агрегата на mongodb?

  2. Поправете „името на индекса трябва да бъде низ“ при отпадане на множество индекси в MongoDB

  3. Копирайте/клонирайте колекция в MongoDB

  4. грешка при изчакване на връзката с mongodb

  5. Достъп до база данни за производство на метеори през 2016 г