这是我正在使用的模型:
name: {
type: String
},
payment: {
id: {
type: String,
required: true
},
cards: [
{
id: {
type: String
},
is_default: {
type: Boolean,
"default": false
}
}
]
}
我想在cards
数组中添加一张卡片,例如:
card =
id: "some_token"
is_default: true
我正在使用update
方法将卡片推送到阵列,但它不会将卡片添加到文档中。相反,它只创建一个包含这些字段的新文档:
{
id: "some_token",
is_default: true,
_id: someId
}
知道如何更新我定位的实际文档而不是创建新文档吗?
这是我的代码(使用CoffeeScript):
update_where =
payment:
id: "some_id"
update_push =
$push:
'payment.cards':
id: card_token
is_default: false
Customer.update update_where, update_push, {upsert: true}, (err, results) ->
# Do something with the results
答案 0 :(得分:0)
where
声明中。
我在做:
payment:
id: "some_id"
但正确的写法如下:
'payment.id': 'some_id'
它现在有效!