9

みんなにとって良い一日。マングースの操作で奇妙なエラーが発生しました

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; 
            }
        });

だから、私は何が間違っているのか分かりません。

4

3 に答える 3

37

$inは、無効な形式の JavaScript オブジェクトではなく、配列を取ります

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

またはreq.body.dataすでに配列の場合は、ラッピングを省略します[ ]

于 2012-08-07T05:33:08.450 に答える
0

データに基づいてクエリを作成する

var match = {
    authorId: req.user._id
};

if(Array.isArray(data)) {
    match._id = {$in: data};
} else {
   match._id = data;
}

dbQueries.remove(match, function findMyDocs(err, foundDocs) {

});
于 2016-08-24T15:52:34.020 に答える
0

req.body.data配列か どうかを確認する必要があります。以下のコードを参照してください{_id: {$in: _.isArray(req.body.data) ? req.body.data : [req.body.data] } //const _ = require('lodash');

于 2015-11-05T06:37:23.990 に答える