MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDB:$push ekspresi yang dihitung dalam $group

Anda dapat menggunakan $cond ( http://docs.mongodb.org/manual/reference /aggregation/cond/#exp._S_cond ) untuk ini:

db.c.aggregate( [
    { $project: {
        k: '$k',
        color: {
            $cond: [ 
                { $eq: [ '$v', true ] }, 
                'red', 
                'green'
            ]
        }
    } },
    { $group: {
        _id: '$k',
        vals: { '$push': '$color' }
    } }
] )

Sunting

Seperti yang disebutkan suntingan lain, itu sebenarnya membutuhkan $eq untuk bekerja sejak {'$v':true} tidak dievaluasi sebagai ekspresi yang benar.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tidak dapat memulai layanan MongoDB 3.0.2 di CentOS 7

  2. Padding dalam SQL

  3. Skrip MongoDB untuk membuat cadangan replikasi yang diatur secara lokal ke Server Windows

  4. Menautkan &Membuat Gabungan MongoDB Menggunakan SQL:Bagian 3

  5. Bagaimana cara mendekorasi item kelas menjadi indeks dan mendapatkan yang sama dengan menggunakan sureIndex?