пакетный поиск с использованием initializeUnorderedBulkOp () mongoose - PullRequest
0 голосов
/ 12 декабря 2018

Я особенно новичок в NodeJS и MongoDB.У меня есть ситуация, когда мне нужно получить результаты, используя несколько запросов.Я не хочу выполнять каждый запрос, а затем следующий.Вместо этого я хочу собрать (?) Запросы в Bulk, а затем выполнить их все сразу.Я пытаюсь с помощью следующего кода.

let bulk = Requests.collection.initializeUnorderedBulkOp();
let allTerms = await getAllTerms(market).catch(e => console.error("Error: ", e.message))
allTerms.forEach(term => {
    console.log(term); // Getting printed fine
    bulk.find({ 'term': term['name'], 'currency': market, 'status': 'Live' });
});
console.log("Now bulking"); // this one too, and sequentially
bulk.execute().then((result) => console.log(result)).catch((e) => "Error Occured!"); // But this one is throwing error UnhandledPromiseRejectionWarning: MongoError: Invalid Operation, no operations specified
console.log(":Operations:"); // Above errors being logged before this statement.

Это потому, что Bulk поддерживает только записи?Если это так, что будет лучшей альтернативой для выполнения только для чтения?

PS Мой мангуст использует mongoose.Promise = require('bluebird');

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...