Javascript Mongoose模式,设置键变量
我正在使用expressjs、mongodb和mongoose,我正在尝试更新以下模式的counts对象:Javascript Mongoose模式,设置键变量,javascript,json,mongodb,express,mongoose,Javascript,Json,Mongodb,Express,Mongoose,我正在使用expressjs、mongodb和mongoose,我正在尝试更新以下模式的counts对象: var UsersSchema = new Schema({ username: { type: String, required: true }, counts: { followers: { type: Number, default: 0 }, trips: { type: Number, default: 0 }, videos: { type: N
var UsersSchema = new Schema({
username: { type: String, required: true },
counts: {
followers: { type: Number, default: 0 },
trips: { type: Number, default: 0 },
videos: { type: Number, default: 0 }
}
})
和更新部分(不工作):
工作示例,但不是动态的:
Users.update({'username': username}, {$set: {'counts.trips': 12}}, callback)
有什么想法吗?您可以为$set创建动态变量并在查询中使用
var key = 'trips';
var dynSet = {$set: {}};
dynSet.$set["counts." + key] = 12;
Users.update({'username': username}, dynSet, callback)
可能的副本是的,谢谢!这就是我要找的。我想知道是否还有其他方法可以做到这一点。这个解决方案似乎不起作用,但这样看起来更干净。让我检查一分钟。
var key = 'trips';
var dynSet = {$set: {}};
dynSet.$set["counts." + key] = 12;
Users.update({'username': username}, dynSet, callback)