为什么我不能替换mongoose文档中的字段?

时间:2018-05-17 18:18:56

标签: mongodb mongoose

vk_account.settings是mongoose架构中的一个数组。

vk_account.save(function(err, vk_account) {
    if(err) return cb(err, null);
    vk_account.Sources = updated_sources;
    vk_account.settings = account_setting;
    cb(null, vk_account);
})

我想将vk_account.settings(Array)替换为vk_account.settings中的account_setting(Object)中的某个特定对象,但是当我替换它时,它不会被替换而vk_account.settings为之前有旧价值。

据我了解,mongoose禁止并且不将Object分配给Array类型的变量,但我不想保存它,我只想将它发送给客户端而忘记。

1 个答案:

答案 0 :(得分:0)

首先,您无法为保存和回复vk_account指定相同的值...然后您必须使用instanceobject更改为toObject(),然后您可以在其中添加密钥

       vk_account.save(function(err, vk) {
          if(err) return cb(err, null);
          var object = vk.toObject();
          vk.Sources = updated_sources;
          vk.settings = account_setting;
          cb(null, vk);
        })