我正在尝试将JSON对象保存在名为“图片”的用户架构数组中。
当我调用REST API路由保存对象时,它会保存,但是我之前在数组中保存的所有内容都会被删除。
为什么要删除数组中的先前元素?东西保存不正确吗?
我的架构的数组从数组中的默认4个空字符串开始。
排名是我要在其中存储新“图片”的数组中的索引。
这是API路线:
router.post('/uploadImage', tokenAuthorizer, async (req, res) => {
let { rank, link } = req.body;
const userID = req.id;
try {
let user = await User.findOne({ _id: userID });
if (!user) throw new Error('Could not find user');
// object to save
const picture = {
link: link,
rank: rank,
};
// store at index 'rank'
user.pictures[rank] = picture;
await user.save();
res.json({ msg: user });
} catch (e) {
console.log(e.message);
res.status(500).json({ msg: e.message });
}
});