Я использую Waterline в моем приложении Sails.js для запроса моей базы данных mongo. Я в состоянии получить запись на основании нескольких PARAMATERS запросов, например, это:Sails.js Метод обновления Waterline
Model.findOne({param1: params[0], param2: params[1]})...
Это прекрасно работает. Я посмотрел на the docs for .update()
и скопировал это, но он не работает. Я по-прежнему необходимо обновить запись на основании двух параметров, так что это моя функция обновления:
Model.update(
[{param1: params[0]}, {param2: params[1]}],
[{field1: update[0]}, {field2: update[1]}]
).exec(function(err, updatedModel) {
console.log(err);
console.log(updatedModel);
});
Из того, что я читал, это выглядит как первый аргумент метода обновления является объект или массив объектов с значения, которые вы запрашиваете, для обновления записи; то вторым параметром являются обновленные поля.
У меня пока нет ошибки или обновленной модели, что, вероятно, означает, что я не нахожу объект из таблицы Model в mongo, который соответствует требованиям. Но я знаю, что объект есть, и параметры верны. Какие-либо предложения?
Кроме того, here's a gist с функцией обновления также.
Я попробую, но документы говорят, что принятые типы данных критериев найти в '{}, [{}], строка, int' и обновленные записи принятых типов' {}, [{ }] '. – pjlamb12
Итак, несмотря на то, что документы делают это, вы можете передать массив объектов в параметре find и параметре обновления, на самом деле не можете. Или, по крайней мере, это не сработало. Однако ответ здесь сработал. – pjlamb12
Парусная документация имеет много ошибок. Сейчас он создан сообществом. – Bonanza