Mam obecnie kolekcję w Mongodb, powiedz "Kolekcja1". Mam następujące tablice obiektów, które muszą być wprowadzone do MongoDB. Używam API Mongoose. Na razie powtarzam iterację i wstawiam każdą z nich w mongo. To na razie ok, ale będzie to problem, gdy dane będą zbyt duże. Potrzebuję sposobu na masowe wstawianie danych do MongoDB bez powtórzeń. Nie jestem pewien, jak to zrobić. Nie mogłem znaleźć opcji zbiorczej w Mongoose.Wstawianie luzem w MongoDB za pomocą mangusty
Mój kod poniżej
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);
}
Cześć, Próbuję dodać swoją drogę do dużej ilości danych z 'bulk' mangusta (Mam 409 584 danych do dodania), ale mam tylko 273001 danych. Wiesz dlaczego ? – John
Jaka jest twoja wersja serwera MongoDB? – chridam
Mam wersję MongoDB w wersji 3.2.9 i mangę 4.7.2. Jeśli używam insertMany otrzymałem 'FATAL ERROR: CALL_AND_RETRY_LAST Alokacja nie powiodła się - JavaScript heap out of memory' wtedy próbuję użyć metody bulk. – John