我有一个集合,其中的条目如下
{_id" : ObjectId("52ff99402cfff2733d826bfe"),"f" : 60}我想要执行一个查询,其中"f“字段将用一个随机值递增,并传递给模运算符-类似于
db.col.find( { f + RANDOM : { $mod : [100,0] } })这显然是不起作用的,因为过滤器必须对收集的字段名进行过滤。怎么做呢?
谢谢
发布于 2014-02-16 01:50:52
您可以使用$where:
db.col.find( { $where: "(this.f + RANDOM) % 100 == 0" } )或者:
db.col.find( function() { return ((this.f + RANDOM) % 100 == 0 ) } );但是这个解决方案有一些限制,你可以在那里读到:http://docs.mongodb.org/manual/reference/operator/query/where/
https://stackoverflow.com/questions/21800849
复制相似问题