【发布时间】:2014-02-13 07:48:20
【问题描述】:
使用 Mongoose JS,并尝试更新我的 MongoDB 数据存储中的字段;我很难理解为什么会这样:
MyModel
.findByIdAndUpdate( req.params.id, field: someValue )
.exec () ->
...callback
但是下面的不工作?即使用 find / where + update。
MyModel
.findOne( _id: req.params.id )
.update( field: someValue )
.exec () ->
...callback
或
MyModel
.where( _id: req.params.id )
.update( field: someValue )
.exec () ->
...callback
真的让我摸不着头脑!
【问题讨论】:
-
你说它不起作用是什么意思?什么都没发生?它设置了错误的值?你看到了什么行为?
-
您应该检查回调的第一个参数是否有错误并包含该信息。
-
嘿伙计们[抱歉回复晚了,没有电子邮件通知!] --- @juanpaco:来自 .exec(错误,对象)的两个参数在 console.log 上都是空的——我已经仔细检查了身份证是正确的。它以 findByIdAndUpdate 格式工作。似乎查询结构有问题,无法正常工作。虽然无法弄清楚它是什么......
-
我相信
.exec仅适用于具有查询条件的模型,即使用查找方法而不是更新或创建。
标签: node.js mongodb express mongoose mean-stack