db.getCollection(“rank”).find({“$where:”this.stats > this.stats”}).limit(1000).count(0)
有啥解决办法不
$where is not allowed in this context
heavenm 选择最佳答案
如果是3.6版本,建议是$expr,$where执行js脚本,效率低。
尝试如下方式
db.getCollection(“rank”).find({$expr:{$gt:[‘$stats’,‘$stats1’]}}).count()
The query operator $where
can also be used to specify JavaScript expression. However:
- Starting in MongoDB 3.6, the
$expr
operator allows the use of aggregation expressions within the query language。
xiaoxu 发表新评论
谢谢解决了,换成$expr了,还有发现不能执行的原因是Navicat Premium 15的问题
换成默认shell就可以
好的。我通常都是用shell来执行的
读取内容可以,但是count()不行