Nodejs и Mongoose отображают путь для запроса $ inc - PullRequest
0 голосов
/ 07 мая 2018

Пожалуйста, помогите мне. У меня такая проблема. У меня есть мой запрос:

$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 
},

Это не работает. Индекс элемента в цвете или массиве размеров не является фиксированным. Итак, мне нужно пройти, как указано выше. Как я могу это сделать, пожалуйста, помогите мне ... Спасибо за ваше время: '(

1 Ответ

0 голосов
/ 07 мая 2018

Изменение

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

с

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

Когда вы пишете colorPath, это интерпретируется как строка. Использование обозначения [] сообщит интерпретатору, что вы используете переменную.


См. здесь другой пост о переполнении стека о динамических ключах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...