2016-09-11 2 views
0

Je voudrais insérer beaucoup de données pour l'apprentissage d'index (environ 1000000 documents). J'essayais de l'insérer par insert ou insertMany, mais toujours seulement 3268 documents sont insérés ... Y a-t-il un moyen de le faire en une seule requête?MongoDB insérer beaucoup de données

Ce code seulement des documents d'impression de longueur variable

var documents = []; 
for (var i = 0; i < 300000; i++) { documents.push({ user: 'user' + i }); } 
db.new.insertMany(documents) 

et cela ajoute seulement 184 premiers documents (il y a 2 heures, il a été d'ajouter environ 2000)

for (var i = 0; i < 300000; i++) { db.new.insertOne({ user: 'user' + i }); } 

Peut-être que je fais mal?

+0

Comment insérez-vous des enregistrements? N'importe quelle langue utilisez-vous? Soyez précis s'il vous plait. – Saleem

+0

J'essaie de le faire en shell – Mati

+0

Y a-t-il du code? Une information vague ne va aider personne. – Saleem

Répondre

1

Essayez l'extrait suivant. Cela prend quelques secondes sur ma machine.

var documents = []; 
for (var i = 0; i < 300000; i++) { 
    documents.push({ user: 'user' + i }); 
    if(documents.length >= 300) 
    { 
    db.new.insertMany(documents); 
    documents = []; 
    } 
}