使用mongoose的findOne()返回存在的mongo中的对象。当传入我使用的ID时,findOne()始终返回null。 我不确定如何解释它,所以以下是它何时起作用但不起作用的例子:
这是我的主要功能:
h1 {
font-size: 10em;
}
以下是正在使用的findOne()查询,但是一个有效,而另一个没有。
此功能正常工作并成功返回" ret"输入并将其打印在屏幕上。
function main()
{
var db = mongoose.connection;
pullOneDoc(db, '639438443613851600');
}
以下代码不会返回' ret'作为doc,但始终返回null。 console.log为"值"显示数字完全相同,只是没有硬编码。
function pullOneDoc(db, value)
{
console.log(value);
db.collection('Tweet').findOne({id:639442211910717400},function (err, ret) {
console.log(ret);
if(err) console.log('error: ',err);
});
}
检查mongo本身(使用mongo中的findOne函数),我可以成功找到ID,所以我知道它在那里。 究竟是什么导致一个人工作而不是另一个?我知道javascript是asnyc,但是控制台日志中的值表明该值是正确传递的。我试过if语句if(value!= null),然后执行查询,但是也没有用。
谢谢!
解决 如果我正在寻找一个Int ID类型
,我不应该传递任何字符串作为字符串function pullOneDoc(db, value)
{
console.log(value);
db.collection('Tweet').findOne({id:value},function (err, ret){
console.log(ret);
if(err) console.log('error: ',err);
});
}