我正在嘗試跟蹤網站上每次點擊的下載次數。
服務器.js
router.post("/download", async (req, res) => {
let id = req.body.id;
id = parseInt(id);
let doc = await db.findOneAndUpdate({_id: id}, {downloads: 100});
});
注意:這有效
但我試圖每次將數字增加 1。
例如:假設當前下載次數為 5,如果有 post 請求,我該怎么做。下載次數增加 1。
uj5u.com熱心網友回復:
const { body: { id } } = req;
const intCasetedId = parseInt(id);
const retrievedDocument = await db.findOneAndUpdate({ id }, { $inc: { downloads: 1 } });
這里正在發生一些事情。
首先,我使用解構賦值從req引數中獲取 id 值。
我只使用 const 來確保我不會改變變數值。
我還使用物件屬性值簡寫符號來跳過搜索查詢引數中的“_id”鍵。參考貓鼬檔案:
通過檔案的 _id 欄位發出 mongodb findAndModify 更新命令。findByIdAndUpdate(id, ...) 等價于 findOneAndUpdate({ _id: id }, ...)。
然后我使用 '$inc' 運算子將下載欄位增加 1。
我也強烈建議你研究eslint
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/473943.html
