在 Mongoose (mongodb node.js) 中,如何更新现有值并插入缺失值,而不删除未指定的值?
Posted
技术标签:
【中文标题】在 Mongoose (mongodb node.js) 中,如何更新现有值并插入缺失值,而不删除未指定的值?【英文标题】:In Mongoose (mongodb node.js), how to update existing values and insert missing, without removing unspecified values? 【发布时间】:2012-04-11 13:24:40 【问题描述】:我正在尝试维护一个瞬时统计数据块,例如;
model =
id: 123,
stats:
fooCount: 117,
barCount: 175,
bazCount: 654
...并且能够更新现有记录,但只指定 new 值,如下所示:
model.update(
'_id': 123,
stats:
fooCount: 118
);
...不会破坏stats
中的旧值。如果不围绕我的更新编写太多代码,这是否可能?
【问题讨论】:
【参考方案1】:您应该在更新中使用$set 运算符,如下所示:
var conditions = _id: 123 ;
var update = $set: fooCount: 118 ;
var options = upsert: true ;
model.update(conditions, update, options, callback);
该 MongoDB 页面上还有更多感兴趣的运算符。
【讨论】:
以上是关于在 Mongoose (mongodb node.js) 中,如何更新现有值并插入缺失值,而不删除未指定的值?的主要内容,如果未能解决你的问题,请参考以下文章
?? Mongoose?Node.js?MongodB ?????????????
使用 mongoose(Node.js) 在 MongoDB 中搜索
使用 Mongoose+Node.js 在 MongoDB 中存储非结构化 JavaScript 对象