我有以下型号:
var Customer = mongoose.model('Customer', {
firstname : String,
lastname : String,
phone : String,
street : String,
city : String,
state : String,
zip : String,
fixed : Boolean,
readings: [
{
reading: Number,
date: String
}],
billing: {
charges: [Number],
payments: [Number]
}
});
我正在尝试将个人费用和付款添加到结算中。
我使用以下代码但似乎没有更新....
Customer.update({_id: req.params.cust_id},
{ billing: { $push:{charges: 100}, $push:{payments:50}}},
{upsert:true},
function(err, customer){
if(err){
console.log(err);
}
else{
Customer.findOne({
_id : req.params.cust_id
}, function(err, customer) {
if (err)
res.send(err);
res.json(customer);
});
}
}
)
如果有人有任何建议,我们将不胜感激。我发现了很多$ push的例子,但似乎都在顶级而不是suboc。
答案 0 :(得分:2)
对字段使用点表示法,这是$ push
的参数Customer.update({_id: req.params.cust_id},
{ $push: { "billing.charges": 100, "billing.payments": 50} },
{upsert:true},