mongodb - 为什么我不能替换猫鼬文档中的字段?
问题描述
vk_account.settings
是猫鼬模式中的一个数组。
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
像以前一样具有旧值。
据我了解,猫鼬禁止并且不会将Object分配给Array类型的变量,但我不想保存它,我只想将它发送给客户端并忘记。
解决方案
首先,您不能为保存和响应分配相同的值vk_account
...然后您必须将其更改instance
为object
使用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);
})
推荐阅读
- mvvm - syncfusion 图表不显示数据
- json - 运行模板时出错,需要一个哈希,但这已评估为一个字符串(包装器:ftSimpleScalar):
- python - 并非所有散点都显示在 plot_surface
- gradle - 为什么我的 Kotlin Gradle 构建会因退出代码 137 而死?
- javascript - 我的倒数计时器会有问题吗?
- python-3.x - 如何注释子图python
- windows - 侦听弹出窗口并使用 Windows 批处理文件将其关闭
- mysql - 嵌套 SQL 查询在引用两个不同的数据库时不起作用
- excel - Excel 公式不断恢复为原始 UDF 名称
- c# - C# 搜索项目并在 Listview 中返回