【发布时间】:2015-10-12 18:30:08
【问题描述】:
我正在尝试通过对基于环回的 Rest API 使用 PUT 动词来一次更新多个文档。 消息正文包含一个 json 对象数组。
[
{"_id" : "1",
"data" : "foo"
},
{"_id" : "2",
"data" : "bar"
}
]
在空数据库上,这工作得很好(创建)。所有文档都按预期创建。 但是,如果我再次运行相同的调用(更新),我会收到一个错误,其中包含一系列类似的错误消息:
E11000 重复键错误索引:testdatabase.node.$id dup key: { : "1" }
经过进一步调查,我发现如果我传递一个对象,则 upsert 可以正常工作。
{"_id" : "1",
"data" : "foo"
}
但是:如果我用相同的单个对象传递一个数组,错误又回来了。
[
{"_id" : "1",
"data" : "foo"
}
]
单个 upsert 不是一个选项,因为我必须使用 Rest Api 更新数千个文档。
环回版本:2.22
【问题讨论】:
标签: angularjs mongodb rest loopbackjs