如何将对象添加到作为对象内键值的数组中?

塔欣·玛哈

我有一个这样的用户模型:

const userSchema = new mongoose.Schema({
    name: {
        type: String,
        required: true
    },
    courses: {
        type: Object,
        required: true
    }
})

像这样的课程模型:

const courseSchema = new mongoose.Schema({
    course_code: {
        type: String,
        required: true
    },
    course_title: {
        type: String,
        required: true
    }
})

app.js文件在这里:

app.post('/enroll/:id', async function (req, res) {
    const courseWithID = await Course.findById(req.params.id)
    const course = {"course_code": courseWithID.course_code, "course_title": courseWithID.course_title}
    const userID = req.user.id
    
    await User.findByIdAndUpdate(userID, {"courses": course}, {new: true, runValidators: true, useFindAndModify: false})
    res.redirect('/dashboard')
})

第一次执行app.js之后,我得到以下结果:

    {
        "name": "Person",
        "courses": {
            "course_code": "123",
            "course_title": "ABC"
        }
    }

在第二次执行app.js之后,我得到以下结果:

    {
        "name": "Person",
        "courses": {
            "course_code": "456",
            "course_title": "DEF"
        }
    }

但是在第二次执行app.js之后,我想要这个结果:

{
    "name": "Person",
    "courses": [
        {
            "course_code": "123",
            "course_title": "ABC"
        },
        {
            "course_code": "456",
            "course_title": "DEF"
        }
    ]
}

我怎样才能做到这一点?

土生的

快速修复

  • courses类型更改ObjectArray
const userSchema = new mongoose.Schema({
    name: {
        type: String,
        required: true
    },
    courses: {
        type: Array,
        required: true
    }
})
  • 之前添加$ pushcourses因为我们需要将对象推入数组中
const courseWithID = await Course.findById(req.params.id);
const course = {
  "course_code": courseWithID.course_code, 
  "course_title": courseWithID.course_title
};
const userID = req.user.id;

await User.findByIdAndUpdate(userID, 
  {
    "$push": { "courses": course }
  }, 
  {new: true, runValidators: true, useFindAndModify: false}
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将对象添加到数组jQuery

来自分类Dev

如何将对象添加到向量中?

来自分类Dev

如何将对象添加到NSPointerArray?

来自分类Dev

将对象添加到预分配的对象数组中

来自分类Dev

如何将对象数组添加到阿波罗客户端突变请求中?

来自分类Dev

如何将对象添加到此数组?

来自分类Dev

如何将对象键值对递归添加到带有子数组的对象数组?

来自分类Dev

如何将对象沿着索引添加到多个数组中

来自分类Dev

使用redux将对象添加到数组中的数组

来自分类Dev

使用useReducer将对象添加到数组中的数组

来自分类Dev

如何将对象从ng-repeat添加到控制器数组($ scope)中?

来自分类Dev

C#:如何将对象添加到数组?

来自分类Dev

如何将元素添加到数组中的对象

来自分类Dev

如何将对象数组添加到chartjs?

来自分类Dev

如何将对象数组作为键值对推入数组

来自分类Dev

如何将新的键值对添加到NSMutable数组内的同一对象中

来自分类Dev

将对象添加到对象数组

来自分类Dev

如何将对象添加到静态数组

来自分类Dev

如何将对象添加到CComboBox

来自分类Dev

如何将对象动态添加到休眠查询

来自分类Dev

将对象中的值添加到对象数组中,而不覆盖现有键值

来自分类Dev

如何将对象属性添加到对象的属性?

来自分类Dev

如何将对象添加到枚举定义的类?

来自分类Dev

将对象添加到预分配的对象数组中

来自分类Dev

Laravel:如何将键值添加到对象中?

来自分类Dev

如何将键值对添加到数组中的对象?

来自分类Dev

如何将对象添加到数组中,但仅当数组的当前元素为 0 时?

来自分类Dev

如何将对象添加到数组javascript

来自分类Dev

将对象添加到对象数组

Related 相关文章

热门标签

归档