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

Bagaimana cara mengaktifkan bidang boolean dalam satu dokumen dengan operasi atom?

Saat ini, saya tidak berpikir itu mungkin untuk melakukan ini dengan satu operasi. Operator bitwise (http://www.mongodb.org/display/DOCS/Updating#Updating-%24bit) belum memiliki '$xor' meskipun saya memiliki patch untuk itu.

Saat ini solusi yang saya pikirkan adalah dengan selalu menggunakan '$inc':

cl.update( { "_id": ...}, { '$inc' : { 'field' : 1 } } );

Kemudian alih-alih memeriksa benar atau salah, Anda dapat memeriksa apakah suatu item "benar":

cl.find( { "_id": ..., 'field' : { '$mod' : [ 2, 1 ] } );

IE, Anda menggunakan operator modulo untuk melihat apakah itu genap atau tidak rata bahkan dengan "tidak disetel", dan tidak merata menjadi "ditetapkan". Jika Anda ingin memiliki perilaku yang berlawanan (yaitu, temukan semua item yang tidak memiliki flag yang disetel), gunakan

[ 2, 0 ];


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengapa disarankan untuk tidak menutup koneksi MongoDB di mana pun dalam kode Node.js?

  2. Cara Membagi Shard Key Berbasis GUID Secara Terprogram dengan MongoDB

  3. Cara terbaik membuat RESTful API di Node.js

  4. Bagaimana cara mencatat kueri yang dieksekusi oleh Spring Data MongoDB?

  5. Desain Skema MongoDB - Banyak dokumen kecil atau lebih sedikit dokumen besar?