Node.js Mongoose在数组内的数组中推送值

Node.js Mongoose在数组内的数组中推送值,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我的模型: Restaurant = mongoose.Schema( name: String menuItems: [ name: String dishes: [ name: String ] ] ) 我需要将项目推送到“碟子”阵列: Restaurant.update {id: restID, 'menuItems.id': menuItemID} $addToSet: {'menuItems.$.d

我的模型:

Restaurant = mongoose.Schema(
  name: String
  menuItems: [
    name: String
    dishes: [
      name: String
    ]
  ] 
)
我需要将项目推送到“碟子”阵列:

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

但什么也没发生。我做错了什么?感谢您的建议。

更新时不能使用虚拟
id
字段;您必须使用实际的
\u id
名称:

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

更新时不能使用虚拟
id
字段;您必须使用实际的
\u id
名称:

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

你明白了吗?试着做同样的事情你明白了吗?在这里也要这么做