mirror of
https://github.com/ONLYOFFICE/server.git
synced 2026-04-07 14:04:35 +08:00
git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/nodeJSProjects@64979 954022d7-b5bf-4e40-9824-e11837661b57
1 line
2.6 KiB
JavaScript
1 line
2.6 KiB
JavaScript
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();
|
||
});
|
||
});
|
||
});
|
||
}; |