【问题标题】:Mongoose schema, set key variable猫鼬模式,设置关键变量
【发布时间】:2014-04-01 13:59:41
【问题描述】:

我正在使用 expressjs、mongodb 和 mongoose,我正在尝试更新以下架构的计数对象:

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 }
  }
})

还有更新部分(不工作):

var key = 'trips' // set dynamically, could be 'videos' or 'followers'
Users.update({'username': username}, {$set: {'counts.key': 12}}, callback)

工作示例但不是动态的:

Users.update({'username': username}, {$set: {'counts.trips': 12}}, callback)

有什么想法吗?

【问题讨论】:

标签: javascript json mongodb express mongoose


【解决方案1】:

您可以为 $set 创建动态变量并在查询中使用。

var key = 'trips';
var dynSet = {$set: {}};
dynSet.$set["counts." + key] = 12;
Users.update({'username': username}, dynSet, callback)

【讨论】:

  • 这个解决方案似乎不起作用,但这样看起来更干净。
  • 让我检查一分钟。
猜你喜欢
  • 1970-01-01
  • 2014-08-20
  • 2015-05-20
  • 2019-10-05
  • 2012-12-26
  • 2017-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多