ms-dred
@ms-dred
Вечно что то не то и что то не так...

Как узнать все ли документы обновлены с помощью bulk.execute()?

Как можно узнать все ли документы обновлены?
Делаю обновление списка документов и есть подозрения что не все обновляется, хотя может я и ошибаюсь.
Вот пример скрипта
const makeRequest = async () => {
    const documents = await getDocuments()
    return await updateDocumentsBulk(documents), process.exit()
}
return makeRequest().catch(e => { return console.log(e), process.exit() })

function getDocuments(request) {
    return Coll_1.aggregate([
        {
            $match: {} // условие запроса
        }, {
            $project: {
                _id: 1,
                count: 1,
                pageUrl: 1
            }
        }, {
            $group: {
                _id: "$pageUrl",
                count: {
                    $sum: "$count"
                }
            }
        }
    ])
}

function updateDocumentsBulk(request) {
    return bulk = Coll_2.collection.initializeOrderedBulkOp()
        , Promise.all(request.map(async e => {
            return href = e._id.replace(regex, "$1"), ! /\//.test(href) && bulk.find( { url: href } ).updateOne({ $inc: { "stats.view": e.count } })
    })).then(e => {
        return e.length && bulk.execute()
    })
}


Иногда смотрю на результат и есть какие то нестрастухи )) Может быть у меня bulk не успевает все пройти и вылетает process.exit()
  • Вопрос задан
  • 18 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы