javascript - 如何使用node js增加mongodb中的值

标签 javascript node.js mongodb

我想知道访客数量。所以我刚刚创建了一个包含计数的集合

 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/

相关文章:

node.js - 无法使用 Node.js 和 Crontab

javascript - javascript 中的 "REPL"是什么?

mongodb - 如何在 mongodb 聚合中将 ISO 日期转换为 unix 纪元

node.js - Mongoose 在 URI 中隐藏密码

php - MongoDb php 扩展未加载

javascript - 将标签id设置为对象属性

javascript - Awesomium 点击标签 C#

javascript - 使用切换 (jQuery) 更改背景图像

javascript - ionic 3 中不可能捕获滚动事件

javascript - 使用 graphql 模式语言的嵌套查询