我的登录功能突然出现了这个错误,我无法确切地知道导致它的原因。我检查了我使用查询或插入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)
提前致谢!
答案 0 :(得分:4)
想出来!!我查看了当我手动进入mongo shell以查看我使用findOne('_ id','myusername')返回的内容时所看到的内容,并发现在该行的某处我的密码被删除(或者更有可能被覆盖来自文档的其他内容因此无法在以后检索它,导致错误“不正确的参数”。现在我只需要弄清楚发生了什么并修复它!