" $或需要一个数组"在$或是数组的请求中

时间:2017-12-18 12:48:59

标签: arrays node.js mongodb

我尝试在mongodb中实现$or查询,但收到错误:$or needs an array

这是我的要求:

const filters = {
  "$or": [
    {
      "positionStatus": {
        "$in": [
          "trainee"
        ]
      }
    },
    {
      "positionStatus": {
        "$exists": false
      }
    },
    {
      "positionStatus": []
    },
    {
      "positionStatus": [
        ""
      ]
    }
  ]
}

我使用$or测试了对象的Array.isArray属性的类型,并返回true

console.log('is array: ', Array.isArray(filters['$or']));

我使用的是Nodejs驱动程序版本2.2.33和Mongorito。

const items = yield Item
  .sort(formatted_sort)
  .find(filters)
  .map(item => ...);

修改

在进一步调查之后,问题出现在使用带有count的表达式时:

const count = yield Sentence
  .where(filters).count();

感谢您的帮助!

0 个答案:

没有答案