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

MongoDB проектира документите с брой над 2

Трябва да проектирате другите полета и вашия $match pipeline просто ще трябва да направи заявка в новосъздаденото поле, за да филтрира документите въз основа на размера на масива. Нещо като следното трябва да работи:

db.entity.aggregate([
    {
        "$project": {
            "Line": 1,
            "LineStart": 1, "SSCEXPEND": 1,
            "SSCEXPEND_count": { "$size": "$SSCEXPEND" }
         }
    },
    {
        "$match": {
            "SSCEXPEND_count": { "$gte": 2 }
         }
    }
])

Примерен резултат :

/* 0 */
{
    "result" : [ 
        {
            "_id" : "201503110040020021",
            "Line" : "1",
            "LineStart" : ISODate("2015-03-11T06:49:35.000Z"),
            "SSCEXPEND" : [ 
                {
                    "Secuence" : 10,
                    "Title" : 1
                }, 
                {
                    "Secuence" : 183,
                    "Title" : 613
                }
            ],
            "SSCEXPEND_count" : 2
        }
    ],
    "ok" : 1
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Съхранена процедура в MongoDB

  2. Каква е разликата между тези две MongoDB заявки?

  3. актуализиране на n-тия документ в документ с вложен масив в mongodb

  4. MongoDB:mongorestore:командата не е намерена

  5. Mongodb Запитване За избор на записи с даден ключ