options.votes是一个数组。
此代码有效:
Poll.findOneAndUpdate({title},{$inc:{'options.votes.0':1}}
我需要为变量替换0。
这不起作用:
const query = 'options.votes.'+variable
Poll.findOneAndUpdate({title},{$inc:{query:1}}
感谢您的帮助
答案 0 :(得分: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}})