所以在我的快递应用中,我试图根据我的_id字段找到()。
请参阅下面的MongoDB记录。
ORDER BY
当我使用{
"_id": {
"$oid": "58c2a5bdf36d281631b3714a"
},
"title": "EntertheBadJah",
"subTitle": "Lorem ipsum dolor",
"thmbNailImg": "",
"headerImg": "",
... BLAH BLAH BLAH
时,
我的.find( _id: id )
param = id
。
我如何转换/使用它来获取我的MongoDB记录?
以下是我的快速通话:
58c2a5bdf36d281631b3714a
感谢任何帮助或建议。提前谢谢。
编辑:(我的修订后的查询)
//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);
});
});
文章目前正在返回NULL。
答案 0 :(得分:5)
db.collection('articles')
.find( {"_id.$oid": id} )
.
甚至更具体:
db.collection('articles')
.findOne( {"_id.$oid": id} )
.
修改强>
在查询之前将字符串转换为ObjectId类型
var ObjectID = require('mongodb').ObjectID;
db.collection('articles')
.findOne( {"_id.$oid": new ObjectID(id)})
.
参考:If i have a mongo document id as a string how do I query for it as an _id?