MongoDB未知的顶级运算符:$ expr nodejs

时间:2018-03-26 21:02:35

标签: node.js mongodb mongoose mongodb-query expr

我尝试在线寻找解决方案,但没有成功。

这是代码:

Invoice.count( { $expr: {$gt: [ "$totalAmount", "$remainingDebt" ]} } ).exec(callback);

其中totalAmountremainingDebt是架构发票中的字段。

我得到的结果是:“未知的顶级操作员$ expr”。

我使用的是mongoose 5.0.11和mongo lab。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

由于MLab提供了Mongo的最大3.6版本,您正在为MongoDB使用哪个版本,因此您需要修改查询或升级Mongo DB版本。

答案 1 :(得分:0)

我正在使用这个查询。

InvoiceModel.aggregate([
    {
      $expr:{'$gt': [ "$totalAmount", "$remainingDebt" ]}
    },
    {
      $count:'COUNT'
    }
 ],(error, result)=>{
   console.log(result)
})