Я новичок в mongodb. У меня есть следующий запрос, который работает, только если я ограничиваю его небольшим числом (например, ниже и small <400). Как я могу заставить оболочку выполнять запрос без ошибок и получать весь результат. Результат, вероятно, составит пару сотен тысяч или 1-2 миллиона. Было бы важно, чтобы запрос и подготовка данных происходили одновременно. </p>
function getTextNodeContent(node) {
const textss = [];
const jsonText = JSON.stringify(node, (key, value) => {
if (key === "text" && typeof value === "string") {
textss.push(value);
}
return value;
});
return textss.join("\n");
}
function removeHtml(html) {
if (!html || typeof html !== "string") {
return "";
}
return html.replace(/<[^>]+>/g, "");
}
db.getCollection('emails').find({$or:[{
"createdAt": {
"$gte" : ISODate("2019-12-01T00:00:00Z"),
"$lt": ISODate("2020-01-01T00:00:00Z")
}},
{"updatedAt": {
"$gte" : ISODate("2019-12-01T00:00:00Z"),
"$lt": ISODate("2020-01-01T00:00:00Z")
}}]
})
.**limit(3)**
.forEach(mail => {
print(`===== Email "${mail.title}" =====`);
print(`===== CA "${mail.createdAt}", UA "${mail.updatedAt}" =====`);
print(`============ Content ==============`);
const content = removeHtml(getTextNodeContent(mail.body.content.root));
print(content);
print(`=== End of the email content "${mail.title}" ===`);
});