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?