same problem
function create(user, callback) {
const bcrypt = require(‘bcrypt’);
const {MongoClient} = require(“mongodb@3.1.4”);
const dbUser = configuration.DB_USR;
const dbPwd = configuration.DB_PSWRD;
const dbHost = configuration.DB_HOST;
const dbName = configuration.CLIENT_DB;
const usersCollection = configuration.USER_COLLECTION;
const uri = mongodb+srv://${dbUser}:${dbPwd}@${dbHost}/test?retryWrites=true
;
const client = new MongoClient(uri, { useNewUrlParser: true });
client.connect(function (err) {
if (err) return callback(err);
const db = client.db(dbName);
const users = db.collection(usersCollection);
users.findOne({ email: user.email }, function (err, withSameMail) {
if (err || withSameMail) {
client.close();
return callback(err || new Error('the user already exists'));
}
bcrypt.hash(user.password, 10, function (err, hash) {
if (err) {
client.close();
return callback(err);
}
user.password = hash;
users.insert(user, function (err, inserted) {
client.close();
if (err) return callback(err);
callback(null);
});
});
});
});
}