node.js - 我如何增加 Mongoose 中的这个数字?

标签 node.js mongodb mongoose

我想增加或减少模式中的喜欢值。我担心的是,如果两个人在接近同一时间获取点赞值,并且都增加了点赞值,则该值只会增加一次。

例如,如果 Likes = 100 并且 A 增加了它,同时 B 增加了它,那么 Likes 将是 101 而不是 102。

我应该为“喜欢”创建一个单独的架构,并为每个“喜欢”指定一个 postId 吗?

var postSchema = mongoose.Schema({
    name: {
        type: String,
        required: true,
        unique: false
    },
    likes: {
         type: Number, 
         default: 0 
    }
});

最佳答案

您可以在 mongoose 中使用它来增加(将 likes 更改为 -1 来减少)

var query = {};
  var update = {$inc: {likes: 1}};
  var options = {'new': true};
  PostSchema.findOneAndUpdate(query, update, options, function (err, doc) {...
  })

关于node.js - 我如何增加 Mongoose 中的这个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41630741/

相关文章:

node.js - Ramda > Mongoose > 数据结构操作

javascript - 为什么我的回调函数没有在下面的 db.collection.findOne 方法中执行

MongoDB 查找所有数组元素都等于某个值的文档

javascript - 将自定义对象的 Mongoose PUT 实现到复杂模式中时出现问题

node.js - 唯一性模型在Nodejs中无法正常使用

node.js - 如何保护 Mongoose/MongoDB 中的密码字段,以便在填充集合时它不会在查询中返回?

javascript - 即使我已允许 https ://example. com/,来自源 'https://example.com' 的访问已被阻止

javascript - Node.js - 下载并本地保存 PDF 文件以供离线使用 - 文件损坏

javascript - 排除字段保存在 Node mongodb native 中

javascript - MongoDB 检索另一个文档数组中包含的每个文档