Arrays 编辑来自mongo的结果,并将其写回数据库(javascript/node)
我必须做一个相当复杂的查询,在这里问了一个问题后,四处阅读并意识到生命有时可能太短,我发现我想做的最简单的方法是从Mongo检索文档,在JavaScript应用程序中编辑响应并写回响应。举例说明:Arrays 编辑来自mongo的结果,并将其写回数据库(javascript/node),arrays,node.js,mongodb,mongoose,database,Arrays,Node.js,Mongodb,Mongoose,Database,我必须做一个相当复杂的查询,在这里问了一个问题后,四处阅读并意识到生命有时可能太短,我发现我想做的最简单的方法是从Mongo检索文档,在JavaScript应用程序中编辑响应并写回响应。举例说明: {objectname: "name" array: [ { name: "jamesbond" organisation: "007" } ]} 当name=“jamesbond”和organization=“007” 没关系。但是,有时它不会将更改
{objectname: "name"
array: [
{
name: "jamesbond"
organisation: "007"
}
]}
当name=“jamesbond”
和organization=“007”
没关系。但是,有时它不会将更改写入数据库,以澄清我正在检索文档、编辑响应,然后调用
self.update({
objectname: "name"
}, {
$set: { "array": response.array }
})
出于某些我无法理解的原因,这并不总是编写更新。我就是不知道为什么。有时会,有时不会。我想知道是否因为我正在编辑原始响应,我应该创建一个新的对象来编写数据库
从以下链接中的答案中,我了解到,$。
操作符没有多大帮助,因为它返回数组中的第一个元素,因此我加载、编辑并恢复对象:
你有什么可以分享的示例代码吗?是的,我会把它作为编辑添加到原始帖子的底部。比我的詹姆斯·邦德的例子略不抽象。。完成。。。上述内容有时会更新分数,但有时不会。我不知道为什么…如果在完成
for
循环和if
语句之前,将调用update
?您是否尝试过使用回调进行更新
?为什么要在for
和if
之前调用更新?我想因为这些是同步的,它们会按顺序发生吗?否则,我将不得不使用async
或承诺在这些操作完成后进行更新。。。