【问题标题】:Mongoose find() not working with $not query [duplicate]Mongoose find() 不适用于 $not 查询 [重复]
【发布时间】:2017-11-15 01:29:54
【问题描述】:

这是我的查找请求:

Recipe.find({'author.id': {$not: {user}}}

这是文档:https://docs.mongodb.com/manual/reference/operator/query/not/index.html

这是错误:

Error: Can't use $not with ObjectId.

我想查找不是由当前用户创作的所有食谱。论点工作正常,所以这不是问题。一定有办法做到这一点,还是我做错了什么?

【问题讨论】:

  • 我认为你想要 $ne '不等于' 而不是 $not 这是一个逻辑运算符。见:docs.mongodb.com/manual/reference/operator/query/ne
  • 我认为您实际上是指.find({ "author.id": { "$ne": user } })。所以它是$ne,意思是“不相等”而不是$not,这是别的东西。它只是 user 而不是 { user } 这实际上意味着 { "user": user } 并且已经与使用“点符号”结合起来确实没有意义。

标签: javascript node.js mongodb express mongoose


【解决方案1】:

你应该使用 $ne

Recipe.find({ "author.id": { "$ne": user }});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-14
    • 2015-09-28
    • 2018-02-25
    • 2017-12-18
    • 2013-05-27
    • 2019-03-20
    • 1970-01-01
    • 2021-03-03
    相关资源
    最近更新 更多