数组内部的Mongoose推送值

时间:2013-12-08 19:37:03

标签: node.js mongodb mongoose

我的模特:

Restaurant = mongoose.Schema(
  name: String
  menuItems: [
    name: String
    dishes: [
      name: String
    ]
  ] 
)

我需要将项目推送到'dish'数组:

Restaurant.update {id: restID, 'menuItems.id': menuItemID}
                  $addToSet: {'menuItems.$.dishes': newDish}
                  (err, res) ->
                     ...

但没有任何反应。我做错了什么?谢谢你的任何建议。

1 个答案:

答案 0 :(得分:0)

更新时无法使用虚拟id字段;您必须改为使用实际的_id名称:

Restaurant.update {_id: restID, 'menuItems._id': menuItemID},
                  $addToSet: {'menuItems.$.dishes': newDish}
                  (err, res) ->
                     ...