Arrays 编辑来自mongo的结果,并将其写回数据库(javascript/node)

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” 没关系。但是,有时它不会将更改

我必须做一个相当复杂的查询,在这里问了一个问题后,四处阅读并意识到生命有时可能太短,我发现我想做的最简单的方法是从Mongo检索文档,在JavaScript应用程序中编辑响应并写回响应。举例说明:

{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
或承诺在这些操作完成后进行
更新。。。