node.js - mongoose 可以根据与集合匹配的对象数组进行批量更新吗?
问题描述
我正在 Express/Node 中开展一个项目,我正在使用一个 MongoDB 数据库,该数据库具有一组课程文档,这些课程文档代表我学校系统中实时更改的课程。我的数据库中的课程文档看起来像这样:
Course Document
{
courseID: Number,
restrictions: String,
status: String,
}
我的程序必须检查学校课程系统的变化,更新它看到的任何变化,并用这些变化更新我的私有 MongoDB 数据库。为此,我目前有一个脚本,它查看学校系统中的所有课程,并将它们记录在一个对象数组中,每个对象对应一个课程。
var allCourses =
[
{
courseID: 123456,
restrictions: "A and B",
status: "OPEN"
},
{
courseID: 678990,
restrictions: "A",
status: "FULL",
}
]
现在的目标是能够通过我的数据库,并跳过与数组中对应的 javascript 对象相同的文档,并更新那些不一样的文档。
显然,我可以使用 forEach 遍历我的数组,并通过按“courseID”过滤并一次更新一个文档的两个字段来更新每一门课程,但我可以预见这将花费大量时间。
我想知道是否有一个类似于 insertMany 操作的批量更新函数,它可以获取我的对象数组并更新与数组中的对象相对应的数据库文档?
解决方案
推荐阅读
- git - 恢复未提交的更改
- r - 如何在 R 的 substr 函数中嵌套 If 语句
- tensorflow.js - 睡眠后可以避免“WebGL:CONTEXT_LOST_WEBGL:looseContext:上下文丢失”吗
- postgresql - SequelizeForeignKeyConstraintError: insert or update on table ... 违反外键约束 \..._id_fkey\"
- java - 如何使用 java 代理和字节伙伴在 MethodDelegation 之后调用原始方法?
- php - 同一个 PHP 文件中有两个相同的 json 对象时出错
- java - 如何根据索引轮换句子中的每个单词?
- javascript - How to implement dual display in a Django app
- c# - Azure JSON 响应反序列化 C#
- python - django ImproperlyConfigured: 分割settings.py后SECRET_KEY设置不能为空