在我的回调中,我试图测试我对Model.find()的调用是否发现了任何结果。传递给record
的回调的Model.findOne()
为null
,但Model.find()
通常“找不到”所有匹配记录的情况似乎并非如此。那么,Model.find()
到底究竟是什么?
以下是我尝试确定将哪些内容作为记录传递给回调的各种测试:
author.model.find({userName: 'nameNotInDB'}, function(err, record)
{
if(err){console.log(err)
}else{
console.log(record); //~> []
console.log(record == []); //~> false
console.log(record == null); //~> false
console.log(record == undefined); //~> false
console.log(record == ''); //~> true
console.log(record === ''); //~> false
console.log(record == false); //~> true
console.log(record === false); //~> false
}
});
答案 0 :(得分:2)
console.log(typeof record === typeof []) // True
您的测试(record == []
)失败,因为比较复杂类型(对象和数组)只有在它们引用相同对象时才会成立。
更新,更好的测试:
console.log(Array.isArray(record)) // True