MongoError:参数不正确

时间:2014-02-17 15:26:18

标签: mongodb arguments

我的登录功能突然出现了这个错误,我无法确切地知道导致它的原因。我检查了我使用查询或插入MongoDB的两种情况,但是看不到参数的任何问题。只是在第一个参数中使用json,在第二个参数中使用回调函数,我认为它应该工作,并且似乎在我使用它的其他情况下工作。我想我可能有语法错误(可能)或可能导致它的东西。任何想法?
第一个Mongo用法:

this.validateLogin = function(username, password, callback){
    "use strict";
    users.findOne({'_id' :username }, function (err,user){
        //some code
    });
}

第二个Mongo用法:

sessions.insert(session, function (err, result) {
        "use strict";
        callback(err, session_id);
    });

这是错误:

C:\...\node_modules\mongodb\lib\mongodb\connection\b
ase.js:242
        throw message;
              ^
MongoError: Incorrect arguments
    at Object.toError (C:\...\node_modules\mongodb\l
ib\mongodb\utils.js:110:11)
    at Server.Base._callHandler (C:\...\node_modules
\mongodb\lib\mongodb\connection\base.js:444:65)
    at C:\...\node_modules\mongodb\lib\mongodb\conne
ction\server.js:485:18
    at MongoReply.parseBody (C:\...\node_modules\mon
godb\lib\mongodb\responses\mongo_reply.js:68:5)
    at null.<anonymous> (C:\...\node_modules\mongodb
\lib\mongodb\connection\server.js:443:20)
    at EventEmitter.emit (events.js:95:17)
    at null.<anonymous> (C:\...\node_modules\mongodb
\lib\mongodb\connection\connection_pool.js:191:13)
    at EventEmitter.emit (events.js:98:17)
    at Socket.<anonymous> (C:\...\node_modules\mongo
db\lib\mongodb\connection\connection.js:418:22)
    at Socket.EventEmitter.emit (events.js:95:17)

提前致谢!

1 个答案:

答案 0 :(得分:4)

想出来!!我查看了当我手动进入mongo shell以查看我使用findOne('_ id','myusername')返回的内容时所看到的内容,并发现在该行的某处我的密码被删除(或者更有可能被覆盖来自文档的其他内容因此无法在以后检索它,导致错误“不正确的参数”。现在我只需要弄清楚发生了什么并修复它!