gpt4 book ai didi

javascript - Express MongoDB find() 基于 _id 字段

转载 作者:可可西里 更新时间:2023-11-01 09:58:44 26 4
gpt4 key购买 nike

所以在我的 express 应用程序中,我试图根据我的 _id 字段查找()。

在下面查看我的 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)
});

});

article is Currently returning NULL.

最佳答案

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?

关于javascript - Express MongoDB find() 基于 _id 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42790527/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com