Hallo Ich bin Anfänger in Knoten js mongodb. Ich möchte Daten in Mongodb einfügen. Zuerst überprüfe ich Benutzer in der Benutzersammlung, dann Daten einfügen und nach dem vollständigen Prozess dann Callback. Bitte geben VorschlagKnoten js MongoDb Client Bulk Daten einfügen mit Versprechen
exports.contactSync = function contactSync(data, userId, callback) {
var Promise = require('promise');
MongoClient.connect(Mongo_url, function (err, db) {
assert.equal(null, err);
db.collection('contacts').deleteMany({user_id: userId});
var bulk = db.collection('contacts').initializeOrderedBulkOp(),
counter = 0;
data.forEach(function (doc) {
let promises = [];
db.collection('users').findOne({email: doc.trim()}, {user_id: 1}).then(function (userData) {
promises.push(new Promise(resolve => {
bulk.insert({user_id: userId, contact_id: userData.user_id});
}));
});
counter++;
if (data.length == counter) {
return Promise.all(promises);
bulk.execute(function (err, r) {
// do something with the result
console.log("succes");
});
}
});
if (counter > 0) {
bulk.execute(function (err, result) {
console.log("succes");
callback({'error': 0, 'message': 'Successfull synchronization', 'data': null, 'status': 200});
// do something with the result here
});
}
}
ja nicht ausführen wird. Wie kann ich –