【发布时间】:2016-05-20 22:39:14
【问题描述】:
我在 Sails.js 应用程序中使用 Waterline 来查询我的 mongo 数据库。我可以根据多个查询参数获取记录,例如:
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);
});
根据我的阅读,update 方法的第一个参数似乎是一个对象或对象数组,其中包含您要查询以更新记录的值;那么第二个参数就是更新后的字段。
但是,我没有收到错误或更新的模型,这可能意味着我没有从 mongo 的模型表中找到符合要求的对象。但我知道对象在那里并且参数是正确的。有什么建议吗?
另外,here's a gist 也有更新功能。
【问题讨论】: