在我的express应用程序中,我正在尝试基于我的_id字段进行查找(find())。
请看下面的MongoDB记录。
{
"_id": {
"$oid": "58c2a5bdf36d281631b3714a"
},
"title": "EntertheBadJah",
"subTitle": "Lorem ipsum dolor",
"thmbNailImg": "",
"headerImg": "",
... BLAH BLAH BLAH
当我使用
.find( _id: id )
时,我的 id
参数为 58c2a5bdf36d281631b3714a
。我该如何将其转换/使用以获取我的 MongoDB 记录?
以下是我的 Express 调用:
//GET ARTICLE
app.get('/api/article', (req, res) => {
var id = req.query.id
var article = [];
db.collection('articles')
.find( _id: id )
.then(result => {
article = articles.concat(result);
}).then(() => {
res.send(article);
}).catch(e => {
console.error(e);
});
});
任何帮助或建议都将不胜感激。提前谢谢。
编辑:(我修订后的问题)
//GET ARTICLE
app.get('/api/article', (req, res) => {
var id = req.query.id
db.collection('articles').findOne({
"_id.$oid": id
}, function(err, article) {
res.send(article);
console.log(article)
});
});
db.collection('articles').find( {"_id.$oid": id })
。更多信息请参考:https://docs.mongodb.com/v3.2/core/document/#embedded-documents - ajai JothiObjectId(req.query.id)
。 - Vince Bowdren