Javascript Mongoose find()不使用$not query

Javascript Mongoose find()不使用$not query,javascript,node.js,mongodb,express,mongoose,Javascript,Node.js,Mongodb,Express,Mongoose,以下是我的查找请求: Recipe.find({'author.id': {$not: {user}}} 以下是文件: 以下是错误: Error: Can't use $not with ObjectId. 我想找到所有不是当前用户编写的食谱。争论很有效,所以这不是问题所在。一定有办法做到这一点,否则我做错了什么吗?你应该使用 Recipe.find({ "author.id": { "$ne": user }}); 我想您想要的是$ne'notequal',而不是逻辑运算符$not。请看

以下是我的查找请求:

Recipe.find({'author.id': {$not: {user}}}
以下是文件:

以下是错误:

Error: Can't use $not with ObjectId.
我想找到所有不是当前用户编写的食谱。争论很有效,所以这不是问题所在。一定有办法做到这一点,否则我做错了什么吗?

你应该使用

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

我想您想要的是
$ne
'notequal',而不是逻辑运算符
$not
。请看:我想您实际上指的是
.find({“author.id”:{“$ne”:user}})
。所以它是
$ne
意思是“不相等”,而不是
$not
,这是另一回事。它只是
user
,而不是
{user}
,这实际上意味着
{“user”:user}
,与使用“点表示法”结合使用真的没有意义。