gpt4 book ai didi

javascript - 如何使用 Node.js 和 Mongoose 添加对象数组?

转载 作者:行者123 更新时间:2023-11-30 14:17:10 25 4
gpt4 key购买 nike

你好,我有一个这样的对象数组:

[
{
"_id": "5bf43c42a09e1129b8f0cd4c",
"user": "5bc89dec5f6e1103f808671b",
"StudentGrades": [
{
"_id": "5bf43daf58f0f803d4e9760b",
"classCode": "ENG1A0",
"gradeLevel": 12,
"credit": 1,
"mark": 67
}
],
"__v": 0
}
]

我想使用 node.js 和 mongoose 在学生成绩数组中添加另一个对象。我现在拥有的 API 代码只是更新数组而不是附加到它。我想知道将另一个对象添加到 StudentGrades 对象数组的正确方法是什么。

router.put('/:user_id', function(req, res) {
let id = req.params.user_id;
const gradeFields = {
classCode: req.body.classCode,
gradeLevel: req.body.gradeLevel,
credit: req.body.credit,
mark: req.body.mark
};
passport.authenticate('jwt', { session: false }), UserGrades.update({ user: id }, gradeFields, function(err, raw) {
if (err) {
res.send(err);
} else {
res.send(gradeFields);
}
});
});

我也尝试过使用 UserGrades.findOneandUpdate 但它也在做同样的事情,它只是编辑对象中的值而不是向它附加另一个对象。我猜我必须插入值(value)观,但我不确定如何。帮助将不胜感激

最佳答案

UserGrades.findOneAndUpdate({ user: id }, { $push: { StudentGrades: gradeFields }}, { new: true }, function(err, raw) {
if (err) {
res.send(err);
} else {
res.send(gradeFields);
}
});

关于javascript - 如何使用 Node.js 和 Mongoose 添加对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53398155/

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