MongoDb快速查询Javascript

时间:2011-10-14 09:05:32

标签: javascript mongodb

我正在阅读该文件:http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24mod

$mod

$ mod运算符允许您执行快速模数查询以替换where子句的常见情况。例如,以下$ where查询:

db.things.find( "this.a % 10 == 1")

可以替换为:

db.things.find( { a : { $mod : [ 10 , 1 ] } } )

所以我不明白fast在这里的含义。性能

2 个答案:

答案 0 :(得分:3)

我没有对此进行基准测试,但它可能确实意味着性能。显然" $ where"为每个对象执行javascript,但" $ mod"是一个mongodb本机运算符,它应该更快,因为不需要为每个对象执行任何javascript。还要看一下文档中的以下句子:

Javascript executes more slowly than the native operators listed on this page, 
but is very flexible.

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-JavascriptExpressionsand%7B%7B%24where%7D%7D

答案 1 :(得分:1)

mongodb中的任何javascript / regex查询都无法使用索引并且工作缓慢。所以回答你的问题是肯定的,文档说的是性能。

有关服务器端JavaScript的更多信息,您可以找到here