MongoDb快速查询Javascript

MongoDb快速查询Javascript,javascript,mongodb,Javascript,Mongodb,我正在阅读该文件: $mod运算符允许您执行快速的模查询,以替换where子句的常见大小写。例如,以下$where查询: db.things.find( "this.a % 10 == 1") 可替换为: db.things.find( { a : { $mod : [ 10 , 1 ] } } ) 所以我不明白这里的快速是什么意思。性能?我没有对此进行基准测试,但它可能确实意味着性能。显然,“$where”为每个对象执行javascript,但“$mod”是一个mongodb本机操作符,应

我正在阅读该文件:

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

db.things.find( "this.a % 10 == 1")
可替换为:

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

所以我不明白这里的快速是什么意思。性能?

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

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

mongodb中的任何javascript/regex查询都不能使用索引,而且运行速度很慢。所以,您的问题的答案是肯定的,文档说明了性能


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

您是否知道@Andrew Orsich的索引答案?对于javascript查询,不可能使用索引,因为javascript必须为每个对象求值,而这些对象是通过查询选择的。因此:如果您可以在$mod之类的内置操作符和javascript之间进行选择,javascript应该总是比较慢,因为javascript是针对每个对象计算的,它不能使用索引,而内置操作符只有在mongodb解析查询并使用索引时才计算。这可能会很有趣,以此为基准…谢谢你的回答。再来一次。你说的索引是什么意思?我可以在任何地方阅读吗?我想我不知道是什么。
Javascript executes more slowly than the native operators listed on this page, 
but is very flexible.