首页 > 解决方案 > $inc 查询的 Nodejs 和 Mongoose 渲染路径

问题描述

请帮我。我有这样的问题。我有我的疑问:

$inc: {
    quantity: -qty,
    saled: qty,
    'colors.2.quantity' :  -qty,
    'size.1.quantity' : -qty 
},

上面的查询工作正常。但是,如果我使用 Nodejs 渲染更新颜色和大小的路径,如下所示:

let colorPath = `colors.${index}.quantity`;
let sizePath = `size.${index}.quantity`;

然后像这样查询:

$inc: {
    quantity: -qty,
    saled: qty,
    colorPath :  -qty,
    sizePath : -qty 
},

它不起作用。颜色或大小数组中的项目索引不固定。所以,我需要像上面一样通过。我该怎么做,请帮助我...感谢您的时间:'(

标签: javascriptnode.jsmongodbmongoose

解决方案


改变

$inc: {
    quantity: -qty,
    saled: qty,
    colorPath :  -qty,
    sizePath : -qty 
},

$inc: {
    quantity: -qty,
    saled: qty,
    [colorPath] : -qty,
    [sizePath] : -qty 
},

当您编写colorPath它时,它会被解释为一个字符串。使用符号[]将告诉解释器您正在使用变量。


请参阅此处有关动态键的其他堆栈溢出帖子。


推荐阅读