Я новичок в node.js. Ниже приведен мой запрос GET:
router.get('/EPODS/Product/:id?', function(req, res) {
if (req.params.id){
var inputIdObj = {'ProductEBM.DataArea.Product.ProductGroupID': req.params.id};
} else {
res.status(500).json({
"Error": "No input given Try give something or Check for the case sensitive in the input query fields"
});
res.end();
return;
}
db.collection('Product').findOne(inputIdObj,function(err, doc) {
if (err) {
console.info("No record found for the given input");
res.end("No record found for the input data- Please check again");
} else {
res.send(doc);
}
});
});
Я получаю значение null
, когда нажимаю запрос в POSTMAN, но запрос работает в MONGODB.
Пожалуйста помоги! Заранее спасибо.
Это мой json, который я хочу получить в отношении идентификатора группы продуктов {"_id": "ProductJson_23042018", "ProductEBM": {"DataArea": {"Product": {"ProductGroupID": "p", "IsPersonalisationChargeable" : "true", "ProductLaunchDate": "2008-09-29"}}
Когда вы получаете параметр запроса GET, вы получаете идентификатор в формате String, который не будет работать, если вы используете ObjectID. Сначала введите свой параметр в ObjectID (вы можете импортировать объект с помощью require('mongodb').ObjectID
) и создайте: new ObjectID(req.params.id)
Вам нужно поделиться дополнительной информацией, такой как схема БД и т. д., Чтобы лучше понять это. Также попробуйте console.info непосредственно перед db.collection, чтобы узнать, что такое inputIdObj