向mongodb添加多个项目



我有这个带有的模式

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之前不使用映射

最新更新