У меня есть Node / Express / Mongoose API, где у меня есть функция, которая обрабатывает множественные обновления документа на основе идентификатора и параметра Type, которые я передаю ему.
Три параметра: type: в основном поле назначения в моем документе (т. Е. 'Linkedin', 'facebook' ...) id: идентификатор поля документа, который я пытаюсь обновить item: значение, которое я вставляю в обновление.
Первое, что я делаю, это создаю несколько констант для запроса:
const sharedType = 'shared.' + type + '.item';
const sharedTypeId = 'shared.' + type + '._id'
const rootType = type + '.item';
const rootTypeId = type + '._id'
Так, например,Я передам в: rootTypeId: 'linkedin', чтобы установить параметр запроса для linkedin, который приведет к константе 'linkedin._id', который будет содержать следующее:
Cards.update ({ rootTypeId: id}, {$ set: {rootType: item}}, {'multi': true}, функция (err, card) {err === null? Console.log ('Нет ошибок' + type +'updated for cards'): console.log ('Error:', err);})
, а затем у меня есть другой констант для rootType, который для linkedin будетв конечном итоге получаю имя «linkedin.name» для целевого поля элемента.
Моя проблема заключается в следующем ...
Если я жестко закодирую такие вещи: Cards.update ({'linkedin._id' : id}, {$ set: {
это работает.
Но использование констант не помогает, хотя они должны иметь одинаковые параметры.
Что я здесь не так делаю?
Спасибо !!