我想使用findOne在数据库中呈现产品。我在URL中传递了ID,以按其ID查找产品。
但是,我得到了null
。
这是我的server.js
文件。
app.get('/boutique/:id', (request, reponse) => {
mongo.connect(url, function (err, db) {
var dbo = db.db("pool");
var cherche_id = request.params.id;
dbo.collection("products").findOne({id : cherche_id}, function(err, result) {
if (err) throw err;
console.log(result);
reponse.render('boutique_id');
db.close();
});
});
});
如果我这样改变我的findOne也可以使用:
findOne({id : 2},
request.params.id
是字符串,而数据库中的id
字段是数字。 MongoDB首先比较类型,因此"2"
不等于2
。您需要先将值转换为数字:
var cherche_id = +request.params.id;
编辑:unary plus operator在这种情况下将字符串转换为数字