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

Sertakan bidang (_id atau lainnya) secara kondisional dalam agregasi proyek mongodb?

Saat ini tidak ada cara untuk melakukan ini dalam tahap $project, tetapi Anda dapat menggunakan tahap $redact untuk menghapus bidang secara kondisional (yaitu Anda menetapkan nilai ke 0 seperti yang Anda lakukan dalam contoh Anda.

db.collection.aggregate(
  ... matching and stuff ...
  {$project: { _id: { $ifNull: [ "$user_id", 0 ] } }},
  {$redact: {
  {$cond: {
    if: { $eq: [ "$user_id", 0 ] },
    then: '$$PRUNE',
    else: '$$DESCEND'
  }}
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Model.find().toArray() mengklaim tidak memiliki metode .toArray()

  2. tingkatkan mongodb

  3. Memperbarui lebih dari satu dokumen MongoDB di NodeJS sepertinya tidak berfungsi

  4. tidak dapat menemukan kacang untuk MongoRepository (Boot Musim Semi)

  5. bagaimana saya bisa memvalidasi kata sandi nama pengguna untuk otentikasi mongodb melalui pymongo?