mongodb 中不用$where的代替

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的代替的主要内容,如果未能解决你的问题,请参考以下文章

怎么从linux 上的mongo备份

mongodb 怎么执行sql

Mongodb是用Sum 和Where条件

如何修改MONGODB字段的数组,不用整个字段修改

mongoDB6--查询表达式

MongoDB简单使用