const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test', {
useUnifiedTopology: true,
useNewUrlParser: true
});
mongoose.Promise = global.Promise;
const SaveUser = new mongoose.Schema({
vk_id: Number,
name: String,
balance: Number
},
{
collection: 'AddressCol'
});
const saveUser = mongoose.model('UserReg', SaveUser);
exports.mongo_init = (vk_id, name) => {
let user = {
vk_id: vk_id,
name: name,
balance: 0
}
const saveUsers = async ( data = new saveUser(user), saveUsr = saveUser, id = vk_id) => {
let checkUser = await saveUsr.findOne({ vk_id: id });
if ( checkUser ) return console.log(checkUser);
let date = await data.save();
return console.log(date);
}
saveUsers();
};
//...
module.exports.getRegionsList = function(callback)
{
/*абстрактный пример запроса к БД*/
db.req(callback);
/*
Предполагается что функция req асинхронная и так же принимает callback.
Передаете в неё параметр вашей функции. Формат вашего callback'а определяется сигнатурой callback'а в req
*/
}
var bd = new bd.createBD();
//update: SomeModule - загруженный через require модуль
var mModule = new SomeModule(bd);
var lDb = undefined;
module.exports = function(dbObject)
{
// как-то проверяем значение dbObject. Если не допустимое значение - ошибка
lDb = dbObject;// внутренний объект bd
// тут объекты, методы текущего модуля
...
}
/*Объявляем*/
getBalance(resultCallback) {
connection.query('%QUERY%', resultCallback);
}
/*Используем*/
getBalance(function(err, rows, fields){
// что-то делаем с полученным результатом
});
Нодой балуюсь уже вторую неделю, все круто
когда я делаю console.log(checkUserIdentity("")) // ответ undefined
gMyModule.prototype.DoSomething = function(variable, callback)
{
process.nextTick(function(){
/*
основной алгоритм, использующий variable
*/
callback(result, error);// результат работы алгоритма (либо всё ОК, либо ошибка)
});
}
module.exports.MyModule = gMyModule;
Алексей Тен: посоветовал пользовать setTimeout