Attualmente ho una collezione in Mongodb che dice "Raccolta1". Ho il seguente array di oggetti che devono essere inseriti in MongoDB. Sto usando API Mongoose. Per ora, sto iterando attraverso l'array e inserendo ognuno di essi in mongo. Questo è ok per ora, ma sarà un problema quando i dati sono troppo grandi. Ho bisogno di un modo per inserire i dati in blocco in MongoDB senza ripetizioni. Non sono sicuro di come farlo. Non sono riuscito a trovare un'opzione cumulativa in Mongoose.Inserto di massa in MongoDB usando mangusta
mio codice qui sotto
myData = [Obj1,Obj2,Obj3.......]
myData.forEach(function(ele){
//console.log(ele)
saveToMongo(ele);
});
function saveToMongo(obj){
(new Collection1(obj)).save(function (err, response) {
if (err) {
// console.log('Error while inserting: ' + obj.name + " " +err);
} else {
// console.log('Data successfully inserted');
}
});
return Collection1(obj);
}
Ciao, sto cercando il tuo modo di aggiungere molti dati con 'bulk' mangusta (Ho 409 584 dati da aggiungere) ma ho appena aggiunto 273001 dati. Sai perché ? – John
Qual è la versione del tuo server MongoDB? – chridam
Ho MongoDB versio 3.2.9 e mangusta 4.7.2. Se uso insertMany ho ottenuto 'FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory', quindi provo a utilizzare il metodo bulk. – John