Express MongoDB find()基于_id字段

所以在我的快速应用程序,我试图find()基于我的_id字段。

看下面我的MongoDBlogging。

{ "_id": { "$oid": "58c2a5bdf36d281631b3714a" }, "title": "EntertheBadJah", "subTitle": "Lorem ipsum dolor", "thmbNailImg": "", "headerImg": "", ... BLAH BLAH BLAH 

当我使用.find( _id: id ) ,我的id参数= 58c2a5bdf36d281631b3714a

我将如何转换/使用这个来获得我的MongoDBlogging?

这是我的快递电话:

 //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); }); }); 

任何帮助或build议表示赞赏。 先谢谢你。

编辑:(我修改后的查询)

 //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) }); }); 

文章目前正在返回NULL。

 db.collection('articles') .find( {"_id.$oid": id} ) . 

甚至更具体:

 db.collection('articles') .findOne( {"_id.$oid": id} ) . 

编辑:
在查询之前将string转换为ObjectIdtypes

 var ObjectID = require('mongodb').ObjectID; db.collection('articles') .findOne( {"_id.$oid": new ObjectID(id)}) . 

参考: 如果我有一个mongo文档id作为string如何查询它作为_id?