Я работаю над проектом в Express / Node, и я использую базу данных MongoDB, в которой есть коллекция документов курса, представляющих курс в моей школьной системе, который изменяется в реальном времени. Все документы курса в моей базе данных выглядят следующим образом:
Course Document
{
courseID: Number,
restrictions: String,
status: String,
}
Моя программа должна проверять наличие изменений в школьной системе курса и обновлять любые изменения, которые она видит, и обновлять мою частную базу данных MongoDB с изменениями. Для sh этого у меня сейчас есть сценарий, который просматривает все курсы в школьной системе и записывает их в массив объектов, причем каждый объект соответствует курсу.
var allCourses =
[
{
courseID: 123456,
restrictions: "A and B",
status: "OPEN"
},
{
courseID: 678990,
restrictions: "A",
status: "FULL",
}
]
теперь цель состоит в том, чтобы иметь возможность go через мою базу данных и пропускать документы, которые совпадают с соответствующими объектами javascript в массиве, и обновлять те, которые не соответствуют
Очевидно, я мог бы просто перебирайте мой массив с помощью forEach и обновляйте каждый курс, фильтруя по 'courseID' и обновляя оба поля по одному документу за раз, но я могу предвидеть, что это займет много времени.
I Интересно, существует ли функция пакетного обновления, аналогичная операции insertMany, которая может принимать мой массив объектов и обновлять документы моей базы данных, соответствующие объекту в массиве?