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

Bagaimana saya bisa mempertahankan nilai panjang nol selama fase $unwind dari pipa agregat di Mongo?

Ubah project Anda tahap dalam pipa seperti di bawah ini:

projection stage melakukan dua hal berikut:

  • Jika larik item null atau does not exist , menghitung nilai bidang item sebagai [] (array kosong.)
  • Selanjutnya memeriksa apakah size dari items yang baru saja dihitung bidangnya adalah 0 , jika 0 , lalu ubah nilainya menjadi array dengan objek default.

Kode panggung:

db.MyCollection.aggregate([
...
{$project:{"_id":"$$ROOT",
           "items":{$cond:[
                          {$eq:[{$size:{$ifNull:["$items",[]]}},0]},
                          [{"quantity":0,"price":0}],
                          "$items"
                          ]}}},
{$unwind:"$items"},
...
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. OverflowError:MongoDB hanya dapat menangani hingga 8-byte int?

  2. Bagaimana cara mendapatkan hunian kumpulan koneksi saat ini pada klien menggunakan driver mongo .net?

  3. MongoDB $strLenCP

  4. Pencarian teks MongoDB dan pesan dengan

  5. Menyimpan Objek Json di kunci String Mongoose