【发布时间】:2021-02-09 16:12:05
【问题描述】:
我正在尝试将值推送到 mongoose 模式中的对象内的数组。这是我的架构:
const UserSchema = new mongoose.Schema({
username: { type: String, required: true, unique: true },
watchlist: {
savedMovies: { type: [String] },
ratings: { type: [Number] },
avgRating: { type: Number, default: null },
},
});
我想将一个值推送到监视列表对象内的 savedMovies 数组。我怎样才能做到这一点?我尝试了以下操作。
router.post("/:username/favmovie", async (req: Request, res: Response) => {
try {
const user = await User.find({ username: req.params.username }).lean().exec();
const updatedUser = await User.updateOne({ _id: user[0]._id }, { watchlist: { $addToSet: { savedMovies: req.body.movieID } } });
res.json(updatedUser);
} catch (err) {
res.json({ message: err });
}
});
但它只是添加了一个新的监视列表对象,这不是我想要的。我只想更新关注列表对象中的 savedMovies 数组。
【问题讨论】:
标签: mongodb api express mongoose