Quiero guardar una matriz muy grande (más de 40k cadenas) en MongoDB.
const allWords = require("an-array-of-english-words"); const { patterns } = require("./models/pattern"); const mongoose = require("mongoose"); // Create a model for the Words object const Words = mongoose.model( "Words", new mongoose.Schema({ words: { type: Array, required: true, }, }) ); /* Filters the list of words to use only words greater than 4 and less than 6 */ const array = allWords.filter(function (text) { return text.length >= 4 && text.length <= 6; }); let words = [...array]; for (let i = 0; i < array.length; i++) { for (let j = 0; j < patterns.length; j++) { let result = patterns[j].test(array[i]); if (result) { let index = array.indexOf(array[i]); array.splice(index, 1); } } } async function saveWords(words) { console.log("start"); const array = new Words({ words }); console.log("mid"); console.log(array); //it's successfully making the array object but it's having trouble saving it await array.save(); console.log("done"); } saveWords(words); console.log("array length: " + array.length + " " + allWords.length); Todo funciona hasta la llamada para guardar la matriz, luego se registra un error de tiempo de espera en la consola. Este es mi primer proyecto trabajando en mi con Node.js y estoy seguro de que estoy cometiendo un pequeño error fácilmente reparable, pero no estoy seguro de qué es. 
Diría que no necesita guardar estas palabras en la base de datos, sino que primero debe crear un algoritmo que cree una cadena aleatoria, luego puede agregar aleatoriedad a la cadena creada si desea agregar números o caracteres especiales.
Podría usar un paquete npm de terceros. Puedes comprobar esto .
Además, sería bueno que te fijaras en cómo lo consiguen los demás. Esta será una buena práctica para mejorar la forma en que puede implementarla de manera eficiente. Este puede ser un buen paquete.