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

Gunakan $cond dalam $match dalam agregasi mongoDB

Anda hanya perlu menulis ulang logikanya sedikit.

{ $match: { $expr: {
    $or: [
        { $and: [
            { $eq: [ "$id", 1206 ] },
            { $eq: [ "$field1", 0 ] }
        ]},
        { $and: [
            { $ne: [ "$id", 1206 ] },
            { $eq: [ "$field1", 1545001200 ] }
        ]},
    ],
}}}

Secara logika, kedua pernyataan tersebut ekuivalen:

  • Cocokkan dokumen dengan mencentang field1 == 0 jika id == 1206 , jika tidak cocokkan dokumen dengan mencentang field1 == 1545001200
  • Cocokkan dokumen jika keduanya (id == 1206 dan field1 == 0 ) atau (id != 1206 dan field1 == 1545001200 ).


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tidak dapat terhubung ke MongoDB errno:61

  2. tidak dapat menjalankan konektor mongo

  3. Di Meteor.js, bagaimana saya memiliki dua proyek pengembangan menggunakan instance Mongo yang sama?

  4. MongoDB:Minta kunci yang memiliki spasi di namanya

  5. Loop pembaruan lambat Mongodb