首页 > 代码库 > mongodb 中不用$where的代替

mongodb 中不用$where的代替

前面提到mongodb 中的$where 查询时候,mongo 中的where 查询是不用索引的,所以查询的效率很低,所以能不用$where就尽可能的不用$where,并且在aggregate()中都没有where查询,因此$where 今天优化一下$where 查询,一般我们的where 查询一般都查询在数据库中两个不同的字段是否大于等于或者不等于的情况,例如:db.datas.find({$where:"this[‘54bcfc6c329af61034f7c2fc‘].testRet !== this[‘54bcfc6c329af61034f7c2fc‘].taskRet"}),现在我们就可以写成这个样子了:

技术分享

db.datas.find({‘this["559e65b3040a5ee37e4505b3"].testRet‘:{$ne:‘this["559e65b3040a5ee37e4505b3"].taskRet‘}})

就可以用this 关键字,不用$where查询了。

 

mongodb 中不用$where的代替