mongodb可以根据等式进行查询吗?

时间:2014-08-06 13:29:05

标签: sql mongodb database

当在MySQL中时,我们可以通过语句查询来搜索记录匹配方程条件,例如“select * from location where where(x - 10)*(x - 10)+(y - 20)*(y - 20 )< 100“。但是,在MongoDB中,我不知道如何使查询等同于上面的SQL语句。

1 个答案:

答案 0 :(得分:3)

使用数学进行查询有三种不同的方法。

  1. aggregation frameworkarithmetic operators,例如$ add,$ mul或$ divide,可以在$project中用来创建计算字段。它还有比较运算符,如$ gt和$ lt,然后可以在后面的$match步骤中使用它来根据计算字段进行过滤。
  2. $where运算符允许您编写为每个文档执行的完整Javascript代码。该函数需要返回truefalse,具体取决于是否应该处理该文档。
  3. MapReduce允许在Javascript中编写map-reduce-和finalize方法,可以执行任何你想要的算术。