Итак, в моем экспресс-приложении я пытаюсь найти() на основе моего поля _id.
См. мою запись MongoDB ниже.
{
"_id": {
"$oid": "58c2a5bdf36d281631b3714a"
},
"title": "EntertheBadJah",
"subTitle": "Lorem ipsum dolor",
"thmbNailImg": "",
"headerImg": "",
... BLAH BLAH BLAH
Когда я использую .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);
});
});
Любая помощь или совет приветствуются. Заранее спасибо.
EDIT: (мой пересмотренный запрос)
//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 в настоящее время возвращает NULL.
db.collection('articles').find( {"_id.$oid": id })
docs.mongodb.com/v3.2/core /document/#embedded-documents - person ajai Jothi   schedule 14.03.2017ObjectId(req.query.id)
. - person Vince Bowdren   schedule 14.03.2017/api/article?id="yourid"
для запроса. - person NERDYLIZARD   schedule 14.03.2017