I am learning Node js and Mongoose. This is my code with Promise all, for some reason, it doesn't insert only second value:
{
name: "test bulk 3",
email: "testb3@test.ru",
zipcode: 56353
},
I tested to replace items, but whatever item in second position, it is not inserted. Could you help me to find reason?
const mongoose = require("mongoose"),
Subscribe = require("./models/subscriber");
const subscriber = require("./models/subscriber");
mongoose.connect(
"mongodb://localhost:27017/test",
{useNewUrlParser : true}
);
mongoose.connection;
var contacts = [
{
name: "test bulk 1",
email: "testb1@test.ru",
zipcode: 54635
},
{
name: "test bulk 3",
email: "testb3@test.ru",
zipcode: 56353
},
{
name: "test bulk 4",
email: "testb4@test.ru",
zipcode: 75644
},
{
name: "test bulk 5",
email: "testb5@test.ru",
zipcode: 98754
},
{
name: "test bulk 222",
email: "testb2222@test.ru",
zipcode: 24345
}
];
subscriber.deleteMany()
.exec()
.then(() => {
console.log("Subscriber table is empty!");
});
var commands = [];
contacts.forEach((c) =>{
commands.push(subscriber.create({
name: c.name,
email: c.email
}));
});
console.log(commands);
Promise.all(commands)
.then(r => {
console.log(JSON.stringify(r));
mongoose.connection.close();
})
.catch(error => {
console.log(`ERROR: ${error}`);
});