dan*_*mcr 2 javascript mongodb node.js express mongodb-query
所以在我的快递应用中,我试图根据我的_id字段找到().
请参阅下面的MongoDB记录.
{
"_id": {
"$oid": "58c2a5bdf36d281631b3714a"
},
"title": "EntertheBadJah",
"subTitle": "Lorem ipsum dolor",
"thmbNailImg": "",
"headerImg": "",
... BLAH BLAH BLAH
Run Code Online (Sandbox Code Playgroud)
当我使用时.find( _id: id ),我的id参数= 58c2a5bdf36d281631b3714a.
我如何转换/使用它来获取我的MongoDB记录?
这是我的快递电话:
//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);
});
});
Run Code Online (Sandbox Code Playgroud)
任何帮助或建议表示赞赏.先感谢您.
编辑:(我的修订查询)
//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)
});
});
Run Code Online (Sandbox Code Playgroud)
article目前正在返回NULL.
db.collection('articles')
.find( {"_id.$oid": id} )
.
Run Code Online (Sandbox Code Playgroud)
甚至更具体:
db.collection('articles')
.findOne( {"_id.$oid": id} )
.
Run Code Online (Sandbox Code Playgroud)
编辑:
在查询之前将字符串转换为ObjectId类型
var ObjectID = require('mongodb').ObjectID;
db.collection('articles')
.findOne( {"_id.$oid": new ObjectID(id)})
.
Run Code Online (Sandbox Code Playgroud)
参考:如果我有一个mongo文件ID作为字符串我如何查询它作为_id?
| 归档时间: |
|
| 查看次数: |
5554 次 |
| 最近记录: |