奇怪的mongoose。 我从findOne的文档得到垃圾。

这是我的脚本是这样的:

UserModel.findOne( {userId:'xx123456'}, function(err, doc) { if (err) { next(err); } else if (! doc) { next( 'findOne: User not found. Input: ' + JSON.stringify(data))); } else { next(null, {status:true, message:'User is found' , data:doc }); } } ); 

当我在命令行运行unit testing时,doc是mongo文档。 例如{userId:'xx123456',名称:“我的名字”}

但是,当我做一个web应用程序调用这个函数传递完全相同的userId,doc.userId是空的。 但是,我可以在doc._doc中find数据为什么?

我有另一个网站,通常从“文档”返回完整的文档。 为什么有不一致…

我必须这样做来规范化数据:if(docs)docs = JSON.parse(JSON.stringify(docs));

不太确定发生了什么,但是我首先尝试一下UserModel.find({}); 这样做,看看什么,如果有的话,返回。 如果没有任何回报,你有一个问题。

另外,我看到的一个问题是mongoose是区分大小写的。 确保“userId”不应该是“userid”之类的东西。 命令行将工作(就我所见)与错误的情况下。 mongoose/节点不会。