Mongoose find() 不适用于 $not 查询 [重复]
Posted
技术标签:
【中文标题】Mongoose find() 不适用于 $not 查询 [重复]【英文标题】:Mongoose find() not working with $not query [duplicate] 【发布时间】: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
并且已经与使用“点符号”结合起来确实没有意义。
【参考方案1】:
你应该使用 $ne
Recipe.find( "author.id": "$ne": user );
【讨论】:
以上是关于Mongoose find() 不适用于 $not 查询 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
Mongoose:findOneAndUpdate 不适用于多种条件