【问题标题】:Mongoose: How to update value in array at index given from variable? [duplicate]Mongoose:如何在变量给定的索引处更新数组中的值? [复制]
【发布时间】:2018-02-14 06:36:00
【问题描述】:

options.votes 是一个数组。

此代码有效:

Poll.findOneAndUpdate({title},{$inc:{'options.votes.0':1}}

我需要将 0 替换为变量。

这不起作用:

const query = 'options.votes.'+variable
Poll.findOneAndUpdate({title},{$inc:{query:1}}

感谢您的帮助

【问题讨论】:

    标签: javascript arrays node.js mongodb mongoose


    【解决方案1】:

    它只是一个带有字符串键的对象

    var obj = {};
    
    obj['options.votes.'+variable] = 1;
    
    Poll.findOneAndUpdate({title},{$inc:obj})
    

    或使用 ES2015 和动态键

    const query = 'options.votes.'+variable;
    Poll.findOneAndUpdate({title},{$inc:{[query]:1}})
    

    【讨论】:

      猜你喜欢
      • 2021-11-07
      • 2020-10-09
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      • 2017-07-11
      • 2010-12-01
      • 2013-01-13
      • 2017-05-20
      相关资源
      最近更新 更多