Arrays Mongoose:通过在数组中推送对象进行更新

Arrays Mongoose:通过在数组中推送对象进行更新,arrays,mongoose,Arrays,Mongoose,这就是我正在使用的模型: name: { type: String }, payment: { id: { type: String, required: true }, cards: [ { id: { type: String }, is_default: { type: Boolean, "default": false } } ] } 我想

这就是我正在使用的模型:

name: {
  type: String
},
payment: {
  id: {
    type: String,
    required: true
  },
  cards: [
    {
      id: {
        type: String
      },
      is_default: {
        type: Boolean,
        "default": false
      }
    }
  ]
}
我想在
数组中添加一张卡,例如:

卡=
id:“一些令牌”
默认值为:true
我正在使用
update
方法将卡推送到数组中,但它不会将卡添加到文档中。相反,它会创建一个仅包含以下字段的新文档:

{
id:“某个令牌”,
默认值为:true,
_id:someId
}
你知道我如何更新目标文档而不是创建新文档吗

以下是我的代码(使用CoffeeScript):

update\u其中=
付款:
身份证:“一些身份证”
更新推送=
$push:
“支付卡”:
id:card_令牌
默认值为:false
Customer.update\u其中,update\u push,{upsert:true},(err,results)->
#对结果做点什么

哦……我刚刚注意到我的错误。问题出在
where
语句中。 我在做:

付款:
身份证:“一些身份证”
但正确的写作方法是:

'payment.id':'some\u id'
现在它可以工作了