我想知道访客数量。所以我刚刚创建了一个包含计数的集合
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var Visitor = new Schema({
count: { type: Number, default: 0 },
});
module.exports = mongoose.model('visitor', Visitor);
现在我想增加路由 /backend/visitors
的计数值正在调用
const Visitor = require('../models/Visitor');
router.route('/backend/visitors').get(function (req, res, next) {
const visitor = new Visitor({
count:1,
});
Visitor.update({}, { __v: 0 })
.then(users => {
console.log(users)
try {
visitor
.save()
.then(visitor => {
res.send(visitor);
})
}
}
)
});
我不知道如何增加数据库中的计数值,之后我想将计数响应发送到页面,如 res.send(count)
最佳答案
$inc
运算符用于递增或递减(使用减号)运算。
对于更新操作查询,您应该先引用MongoDB文档:https://docs.mongodb.com/manual/reference/method/db.collection.findOneAndUpdate/index.html
如果访问者架构只有一个文档,您应该使用 findOneAndUpdate
查询。
您的查询将如下所示:
Visitor.findOneAndUpdate({}, {
$inc: { count: 1 }
}).exec();
如果有多个文档,则应使用updateMany
查询:
Visitor.updateMany(selectQueryObj, {
$inc: { count: 1 }
}).exec()
关于javascript - 如何使用node js增加mongodb中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55035976/