Files
server/DocService/sources/database.js
2016-05-18 10:38:54 +03:00

1 line
2.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var mongoDB = require('mongodb');
var config = require('./config.json');
var _errorConnection = true;
var logger = require('./../../Common/sources/logger');
function CreateDbClient(){
return new mongoDB.Db(config['mongodb']['database'], new mongoDB.Server(config['mongodb']['host'], config['mongodb']['port'], {auto_reconnect: true}), {safe:false});
}
exports.insert = function (_collectionName, _newElement) {
var _db = CreateDbClient();
if (!_db) {
logger.error ("Error _db");
return;
}
// Открываем базу данных
_db.open (function (err, db) {
if (!err) {
// Открываем коллекцию. Если её не существует, она будет создана
db.collection(_collectionName, function(err, collection) {
if (!err) {
collection.insert (_newElement);
} else {
logger.error ("Error collection");
return;
}
db.close();
});
} else {
logger.error ("Error open database");
}
});
};
exports.remove = function (_collectionName, _removeElements) {
var _db = CreateDbClient();
if (!_db) {
logger.error ("Error _db");
return;
}
// Открываем базу данных
_db.open (function (err, db) {
if (!err) {
// Открываем коллекцию. Если её не существует, она будет создана
db.collection(_collectionName, function(err, collection) {
if (!err) {
collection.remove (_removeElements, function(err, collection) {
// Все элементы удалены
logger.info ("All elements remove");
});
} else {
logger.error ("Error collection");
return;
}
db.close();
});
} else {
logger.error ("Error open database");
}
});
};
exports.load = function (_collectionName, callbackFunction) {
var _db = CreateDbClient();
if (!_db) {
logger.error ("Error _db");
return callbackFunction (null);
}
var result = [];
// Открываем базу данных
_db.open (function (err, db) {
// Открываем коллекцию. Если её не существует, она будет создана
db.collection(_collectionName, function(err, collection) {
// Получаем все элементы коллекции с помощью find()
collection.find(function(err, cursor) {
cursor.each(function(err, item) {
// Null обозначает последний элемент
if (item != null) {
if (!result.hasOwnProperty (item.docid))
result[item.docid] = [item];
else
result[item.docid].push(item);
} else
callbackFunction (result);
});
db.close();
});
});
});
};