从mongo编辑结果,并将其写回数据库(javascript / node)

时间:2016-06-15 09:26:10

标签: arrays node.js mongodb mongoose database

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

{objectname: "name"
array: [
    {
        name: "jamesbond"
        organisation: "007"
    }
]}

我的JavaScript代码会在scorename = "jamesbond"

时向数组中的对象添加organisation = "007"字段

这一切都很好。但是,有时它不会将更改写入数据库,以澄清我正在检索文档,编辑响应然后调用

self.update({
    objectname: "name"
}, {
    $set: { "array": response.array }
})

由于某些我无法理解的原因,这并不总是写出更新。我只是不知道为什么。有时确实如此,有时却没有。我想知道它是否因为我正在编辑原始响应,我是否应该创建一个我写数据库的新对象?

我从以下链接的答案中了解到,.$.运算符没有多大帮助,因为它返回数组中的第一个元素,因此我为什么要加载对象,编辑它并恢复它:

mongo add to nested array if entry does not contain two fields that match

0 个答案:

没有答案