【问题标题】:Mongoose updateMany depending old valuesMongoose updateMany 依赖于旧值
【发布时间】:2020-03-26 08:11:17
【问题描述】:

我是 mongoose 和 nodejs 的新手,所以我的问题可能不清楚。

我正在使用mongoose,并且我有以下型号:

const numberSchema = mongoose.Schema({
     n: {
          type: Number,
          required: true
     },
     created_at: {
         type: Date,
         default: Date.now()
     }
 });

我需要更新所有文档,为每个 n 属性添加 +1

const result = await Number.updateMany(
    {}, 
    { n: **{how_to_access_current_value}** + 1 },
    { multi: true} 
);

如何访问n 的当前值?

【问题讨论】:

    标签: node.js mongoose


    【解决方案1】:

    试试这个..

    var newN = 1;
    const result = await Number.updateMany(
        {}, 
        { $inc: { n: newN }},
        { multi: true } 
    );
    

    【讨论】:

    • 该增量是一个很好的解决方案,谢谢 ;) 但是如果 n 是一个变量?有时它可能是 1 或 2 或者 -1 我该怎么做?
    • 只需用变量代替 1。
    • 谢谢 另一个问题,如果运算符也是一个变量? '+'、'-'、'*' 或 '/'
    • 不,它只会增加。
    • 如何实现算子变量?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 2020-07-09
    • 2014-07-07
    • 2020-03-29
    • 2023-03-04
    • 2021-03-17
    相关资源
    最近更新 更多