"$ in"有什么问题?在猫鼬

问题描述:

大家好.我在使用猫鼬时遇到了一个奇怪的错误

Good day for everyone. I have a strange error working with mongoose

module.js:437
  var compiledWrapper = runInThisContext(wrapper, filename, tru
                        ^
SyntaxError: Unexpected token .
    at Module._compile (module.js:437:25)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:362:17)
    at require (module.js:378:17)
    at Object.<anonymous> (E:\Dropbox\Dropbox\FCP\server.js
    at Module._compile (module.js:449:26)
    at Object.Module._extensions..js (module.js:467:10)
    at Module.load (module.js:356:32)

我猜它是从那里来的

dbQueries.remove({_id: {$in: {req.body.data}}, authorId: req.user._id}, function onRemoveSomething(err){
            if(err) {
                res.json({epicFail: 'ERR_RestrictedAccess'});
                return; 
            }
        });

所以,我不知道怎么了.

So, I have no idea what is wrong.

$ in 接受数组,而不是格式无效的javascript对象

$in takes an array, not an invalidly formatted javascript object

{_id: {$in: [req.body.data]}

,或者如果req.body.data已经是数组,则省略包装[ ]

or if req.body.data is already an array, omit the wrapping [ ]