$ nin with $ and in mongoose

时间:2016-09-01 07:09:29

标签: javascript node.js mongodb mongoose

使用mongoose操作过滤用户(admin)。

他需要查看所有已保存的文件...除了作为草稿文件..

但他再次能够看到自己保存的草稿文件......

代码:

filter = {
   '_id':
  $nin://not in (dont show)
  [{
  $and:
  [
  // {_id : _id},//in this id and
  {createBy: {$ne: userId}},//other dan admin and
  {status: {$regex: /draft/, $options: 'm'}} //save as draft
]
}]
}

我尝试过这种方式过滤但最终出现了这个错误..

  

exceptionMongoError:无法规范查询:BadValue未知顶级运算符:$ nin

提前致谢...

1 个答案:

答案 0 :(得分:2)

您只需找到用户创建的文档或非草稿的文档:



files.find({$or: [{createBy: userId}, {status: /^((?!draft).)*$/}]})