这种情况有什么问题?
var conditions = {
$and: [
{username: req.body.globalUserName},
$or: [
{'pendingFriends._id': {$ne: req.user._id.toString()},
{'friends._id': {$ne: req.user._id.toString()}}
]
]
}
我收到以下错误:
$or: [
^
SyntaxError: Unexpected token :
at Object.exports.runInThisContext (vm.js:76:16)
at Module._compile (module.js:542:28)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
这是针对fineOneAndUpdate查询的。我的条件代码有什么问题?非常感谢!任何帮助表示赞赏
答案 0 :(得分:0)
每个条件都应该是一个对象。
and
运算符是一个数组,但您将其视为一个对象。
var conditions = {
$and: [
{username: req.body.globalUserName},
{$or: [
{'pendingFriends._id': {$ne: req.user._id.toString()},
{'friends._id': {$ne: req.user._id.toString()}}
]}
]
}