MongoDB不搜索文档

时间:2017-12-15 20:52:28

标签: node.js mongodb

但是我无法在ID之后找到任何物品,

里面的Calendar.model是doc:

/* 1 */
{
    "_id" : ObjectId("5a3425b58399c6c26cf1c848"),
    "doctorID" : ObjectId("5a31392cc99fe923c0810096"),
    "doctor" : "Bartłomiej Flis",
    "calendar" : []
}

在nodeJS API中,我试图使用函数找到doc:

router.get(' / list-of-dates',(req,res)=> {

Calendar.find({ doctorID : req.query.doctorID})
.then((Calendar)=>{
    console.log(Calendar)
    res.send(Calendar)
})
.catch((err)=>{
    console.log(err)
})

});

req.query.doctorID的值是字符串 - > 5a31392cc99fe923c0810096

任何人都可以告诉我为什么这个功能找不到任何项目?我认为这是错误,在数据库变量中,doctorID是ObjectId,而在API中,req.query.doctorID是一个字符串,如何在API中对其进行改进。

1 个答案:

答案 0 :(得分:0)

首先,在文件开头导入以下内容:

{ doctorID: ObjectId( req.query.doctorID ) }

然后,将您的搜索查询更改为(即将其包装到 ObjectId()函数中)

ObjectId

有什么区别? MongoDB以String类型存储密钥,而您尝试查找类型为dirname的内容。你是对的。这就是你没有得到任何东西的原因。

如果有帮助,请告诉我。