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'
现在它可以工作了