Mangosta 4.4 ahora tiene un insertMany función que le permite validar un conjunto de documentos e insertarlos si es válido todo con una sola operación, en lugar de uno para cada documento:

var arr = [{ name: 'Star Wars' }, { name: 'The Empire Strikes Back' }];
Movies.insertMany(arr, function(error, docs) {});

Si tengo una gama muy grande, debo lote de estos? O hay ningún límite en el tamaño de la matriz?

Por ejemplo, quiero crear un nuevo documento para cada Película, y he de 10.000 películas.

InformationsquelleAutor lifwanian | 2016-03-16

3 Comentarios

  1. 10

    Me gustaría recomendar basado en la experiencia personal, lote de 100-200 le ofrece una buena combinación de rendimiento sin poner tensión en su sistema.

    insertMany grupo de operaciones puede tener más de 1000 operaciones. Si el grupo excede este límite, MongoDB divida el grupo en grupos más pequeños de 1000 o menos. Por ejemplo, si la cola se compone de 2000 operaciones, MongoDB crea 2 grupos, cada uno con 1000 operaciones.

    Los tamaños de agrupación y la mecánica interna de los datos de rendimiento y están sujetos a cambiar en futuras versiones.

    La ejecución de una lista ordenada de las operaciones en un sharded de la colección en general será más lenta que la ejecución de una lista desordenada ya que con una lista ordenada, cada operación debe esperar para la operación anterior para terminar.

  2. 5

    El método lleva a que la matriz y se inicia la inserción de los mismos a través de la insertMany método en MongoDB , por lo que el tamaño de la matriz en sí misma depende de la cantidad de su la máquina puede manejar .

    Pero por favor, tenga en cuenta que hay otro punto, que no es una limitación, sino algo que vale la pena tener en cuenta, sobre cómo MongoDB ofertas de hoteles con varias operaciones, por defecto, se trata de un lote de 1000 operaciones en un momento y se divide aún más que eso.

  3. 2

    Mongo 3.6 actualización:

    El límite para insertMany() ha el aumento en Mongo 3.6 de 1000 a 100,000.
    Lo que significa que ahora, los grupos por encima de 100,000 operaciones se dividen en grupos más pequeños en consecuencia.
    Por ejemplo: una cola que ha 200,000 de operaciones de división y Mongo va a crear 2 grupos de 100,000 cada uno.

    • He intentado añadir 50000 a la vez, pero lamentablemente fue lenta. He probado con 1000 y era más rápido.
    • nunca se dijo que sería más rápido 🙂 nunca menos – que podría depender del tipo de máquina(cantidad de memoria RAM, disco escribe, etc…). Se le envía los datos a un servidor diferente utilizando async/await? que también puede que sea más lento.
    • Ahh.. parece que se me olvidó pegar el URL de la repo de Github, aquí es: github.com/ashokdey/scale Usted puede saber sobre el caso de uso en el archivo «Readme» y yo estaría feliz de ver a usted como colaborador. Para mi caso de uso, es más rápido en comparación con 50k insertar en un momento.
    • ¿Hay algún límite en el tamaño total de los documentos también?

Dejar respuesta

Please enter your comment!
Please enter your name here