我有这个带有的模式
const userSchema = new mongoose.Schema(
{
skills: [{ name: { type: String, unique: true }, level: { type: Number } }],
在从客户端获得一组对象之后,我正在尝试在MongoDB 中的一个用户下一次添加所有对象
当它只是一个数组时,我的旧实现是下面的这个。我现在不知道该怎么做。有人能帮我吗?
const { email } = session;
const { skill } = req.body;
if (req.method === 'POST') {
try {
const user = await User.findOne({ email });
const updatedUser = await User.findOneAndUpdate(
{ email },
{ skills: [...user.skills, { name: skill }] }
);
const { email } = session;
// object from the client
const { skills } = req.body;
if (req.method === 'POST') {
try {
const updatedUser = await User.findOneAndUpdate(
{ email },
{ $set: {skills} }
);
最好的方法是从前端正确格式化数组,如果在调用findOneAndUpdate之前不使用映射