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

как да избегнете $push-ing нули в рамката за агрегиране на mongo

Малко късно за партито, но...

Исках да направя същото и открих, че мога да го постигна с израз като този:

  // Pushes events only if they have the value 'A'
  "events": {
    "$push": {
      "$cond": [
        {
          "$eq": [
            "$event",
            "A"
          ]
        },
        "A",
        "$noval"
      ]
    }
  }

Мисълта тук е, че когато го направите

{ "$push": "$event" } 

тогава изглежда, че натиска само не-нулеви стойности.

Така че създадох колона, която не съществува, $noval, която да бъде върната като фалшиво условие на моя $cond.

Изглежда, че работи. Не съм сигурен дали е нестандартен и следователно може да се счупи един ден, но..



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Групиране на Mongo по месеци с помощта на UNIX милисекунди време

  2. Как да решим ефективно проблема, свързан с mongoDB?

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

  4. Mongoid Association Създаване на (нежелани) записи

  5. Могат ли строги JSON $dates да се използват в заявка на MongoDB?