sql >> データベース >  >> NoSQL >> MongoDB

MongoDB:クエリで小数点以下N桁の精度を取得する方法

    これは、 $ where オペレーター。

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

    編集(このコメントの後

    この場合、集約フレームワーク、特に $ redact 演算子であり、これは $ whereを使用するソリューションよりもはるかに高速です

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


    1. MongoDBからSQL-Serverにデータを移行する方法は?

    2. MongoDBの配列に埋め込まれたドキュメントのフィールドの名前を変更しても機能しない

    3. MongoDB $pushと$addToSet:違いは何ですか?

    4. 選択したメールアドレスと名前がすでにMongoDBに存在するかどうかを確認する方法