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

MongoDB:Cara mendapatkan presisi N desimal dalam kueri

Anda dapat melakukannya dengan $where operator.

db.collection.find({ "$where": function() { 
    return Math.round(this.amount.value * 100)/ 100 === 1.12; 
    }
})

EDIT (setelah komentar ini )

Dalam hal ini Anda harus menggunakan kerangka kerja agregasi terutama $redact operator dan ini jauh lebih cepat daripada solusi menggunakan $where

db.collection.aggregate([
    { "$redact": { 
        "$cond": [
            { "$eq": [
                { "$subtract": [ 
                    "$amount.value", 
                    { "$mod": [ "$amount.value",  0.01 ] }
                ]}, 
                0.03
            ]}, 
            "$$KEEP", 
            "$$PRUNE"
        ]
     }}
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongorestore dari standalone ke replicaset

  2. Tidak dapat terhubung ke kesalahan auth gagal MongoLab

  3. Skema dan subdokumen di luwak.js

  4. Haruskah saya menggunakan indeks sparse untuk flag boolean di mongodb?

  5. Ambil data dari koleksi MongoDB ke Swing JTable