Node.js Mongoose findOne在子文档中
这是我的数据结构。我想按对象作业查找文档。\u idNode.js Mongoose findOne在子文档中,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,这是我的数据结构。我想按对象作业查找文档。\u id function getQuotesForJob(jobID){ Quotes.findOne({'job.id': jobID}, function (err, quotes) { console.log(quotes); }); } 我尝试了此代码,但返回null。Quotes.findOne({'job.\u id':jobID}查看差异。尝试后,如果您的值不正确,它仍然返回null@Neillunn
function getQuotesForJob(jobID){
Quotes.findOne({'job.id': jobID}, function (err, quotes) {
console.log(quotes);
});
}
我尝试了此代码,但返回null。
Quotes.findOne({'job.\u id':jobID}
查看差异。尝试后,如果您的值不正确,它仍然返回null@Neillunnth。请向我们显示您传递的值,而不是图片。请仅显示文本。乍一看,我猜在您的架构中,作业
定义为混合
。Mongoose无法“自动播放”ObjectId
如果类型是Mixed
。在这种情况下,您需要手动强制转换。例如Quotes.findOne({'job.\u id':ObjectId(jobID)}
。因此您可能还需要从Schema.Types
导入ObjectId
。@NeilLunn解决了这个问题。感谢您的帮助