MongoDB:如何在查询中获得N个小数精度

3天

给定MongoDB集合中的以下文档...

{ "_id": 1, "amount": { "value": 1.123456789999, "rate": 1.2 }}
{ "_id": 2, "amount": { "value": 2.9844, "rate": 1.2 }}
{ "_id": 3, "amount": { "value": 1.123876, "rate": 1.2 }}
{ "_id": 4, "amount": { "value": 3.3557886, "rate": 1.2 }}
{ "_id": 5, "amount": { "value": 1.12599976, "rate": 1.2 }}

...可以选择所有那些文档amount1.12(即在查询中获得2位小数精度)的文档吗?

苯乙烯

您可以与$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"
        ]
     }}
])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在mongodb中获得两个子查询的区别?

来自分类Dev

给定小数/精度如何获得下一个小数

来自分类Dev

我如何在python中准确获得2个小数位

来自分类Dev

如何在MongoDB中查询两个集合的想法

来自分类Dev

如何从mongodb查询中获得中间结果

来自分类Dev

如何获得第n个双精度数

来自分类Dev

MongoDB / MongoEngine:在1个查询中获得2个计数

来自分类Dev

如何在单个查询而不是N + 1中获得此查询结果

来自分类Dev

OrientDB如何在一个查询中获得顶点及其边的结果集

来自分类Dev

如何在一个查询中获得不同时间段的总和

来自分类Dev

如何在一个查询中获得关注的用户内容和您自己的内容?

来自分类Dev

我如何在 sql 查询中获得最后 3 个事务的总和

来自分类Dev

如何在sqlite3 python中获得更多的一个字母查询?

来自分类Dev

如何在elasticserch查询中获得3个随机搜索结果

来自分类Dev

如何在mongoDB中展平双精度数组?

来自分类Dev

如何在mongodb中删除N个文档

来自分类Dev

如何在mongodb中删除N个文档

来自分类Dev

我如何在mongoose(mongoDB)中获得一个文档?

来自分类Dev

如何正确获得以下SQL查询以选择组中的前N个结果?

来自分类Dev

在python中获取最多n个精度的小数点结果

来自分类Dev

如何在MongoDB中查询邻居元素?

来自分类Dev

如何在pymongo中编写mongodb查询

来自分类Dev

如何在MongoDB数组中查询

来自分类Dev

如何在mongoDB中输入特定查询,

来自分类Dev

如何在MongoDB中创建动态查询?

来自分类Dev

如何在mongodb中查询数组字段?

来自分类Dev

如何在Java中运行MongoDB查询

来自分类Dev

如何在mongodb中查询嵌套对象

来自分类Dev

如何在mongodb中查询嵌套文档?

Related 相关文章

热门标签

归档