gpt4 book ai didi

javascript - 通过 Mongoose 将对象推送到 MongoDB subdoc 数组

转载 作者:太空宇宙 更新时间:2023-11-04 01:06:39 25 4
gpt4 key购买 nike

我目前设置了以下 Mongoose 模型:

var Customer = mongoose.model('Customer', {
firstname : String,
lastname : String,
phone : String,
street : String,
city : String,
state : String,
zip : String,
fixed : Boolean,
readings: [Number]
});

它的使用方式如下:

app.post('/api/findcustomer/:customer_id/:customer_reading', function(req, res) {
Customer.update({_id: req.params.customer_id},
{$push: {readings: req.params.customer_reading}},
{upsert:true},
function(err, customer){
if(err){
console.log(err);
}else{
console.log("Successfully added");
}
});
Customer.findOne({
_id : req.params.customer_id
}, function(err, customer) {
if (err)
res.send(err);
res.json(customer);
});
});

目前该功能正在运行。然而,我真正想做的是让读数(在我的模型中)成为由读数和日期组成的对象数组。我对此的最佳尝试包括以下更改:

readings: [{reading: Number, date: String}]

{$push: {readings: {reading: req.params.customer_reading, date: 'Some Date'}}}

这对我不起作用,即使我在控制台中成功添加了日志,数组仍为空。我不确定如何解决这个问题,到目前为止我的搜索还没有产生任何结果。搜索时我的定相可能是错误的,我请求的情况下的读数是否被视为子文档数组或对象数组,或者只是子文档本身?

如有任何帮助,我们将不胜感激!

最佳答案

呃...看来我的尝试是正确的,但是我试图将读数添加到使用旧模式构建的客户。当我使用新模式创建一个新客户并尝试将读取对象添加到数组时,它起作用了!

关于javascript - 通过 Mongoose 将对象推送到 MongoDB subdoc 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22276583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com