[英]Expressjs mongodb update query
在有條件的books.update({“ id”:{$ eq:bid}},{$ set:{“ status”:login}} ...中,當我使用可變出價時,它不起作用,但是如果我把東西像書一樣。 update({“ id”:{$ eq:1}},{$ set:{“ status”:login}}的效果很好。我必須在項目中使用變量。
節點代碼
app.get("/logged/:login/borrow/:bid/confirm", function(req,res){
var login = req.params.login;
var bid = req.params.bid;
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Nawiązano połączenie z serwerem");
var books = db.collection('books');
books.update({"id": {$eq: bid}}, {$set:{"status": login}}, function(er, result){
assert.equal(er, null);
res.redirect('/logged/'+login+'/borrow');
});
db.close();
});
});
粘貼hjs文件以防萬一
<a href="/logged/{{nick}}/return/{{id}}/confirm"></a>
也許req.params.bid
正在為您提供一個字符串號,因此它不匹配。 id字段可能正在尋找1,但您將以可變出價發送“ 1”。
嘗試將出價轉換為數字,然后檢查。
bid = parseInt(bid,10);
我猜測id是一個數字值,因為帶有1的查詢有效。
請求參數是字符串。 將字符串轉換為整數,就可以了。
var bid = parseInt(req.params.bid);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.