i399exmongo/mongo.js

74 lines
1.6 KiB
JavaScript
Raw Normal View History

2017-05-03 15:17:25 +03:00
'use strict';
const mongodb = require('mongodb');
const Dao = require('./dao.js');
const ObjectID = mongodb.ObjectID;
2017-05-11 11:22:47 +03:00
var url = 'mongodb://i399:salakala@ds137191.mlab.com:37191/i399';
var data = { name: 'John' };
//findById("591418e3930698683597d4f8").then(data => console.log(data))
var dao = new Dao();
dao.connect(url)
.then(() => {
return dao.findById('591418e3930698683597d4f8')
}).then(data => {
dao.close();
console.log(data);
}).catch(error => {
dao.close();
console.log('Error: ' + error)
});
function inset(data) {
var database;
mongodb.MongoClient.connect(url).then(db => {
database = db;
return db.collection('contacts').insertOne(data);
}).then(() => {
closeDb(database)
}).catch(error => {
closeDb(database);
throw error;
});
}
function findAll() {
var database;
return mongodb.MongoClient.connect(url).then(db => {
database = db;
return db.collection('contacts').find().toArray();
}).then(data => {
closeDb(database)
return data;
}).catch(error => {
closeDb(database);
throw error;
});
}
function findById(id) {
var database;
return mongodb.MongoClient.connect(url).then(db => {
database = db;
id = new ObjectID(id)
return db.collection('contacts').findOne({ _id: id});
}).then(data => {
closeDb(database)
return data;
}).catch(error => {
closeDb(database);
throw error;
});
}
2017-05-03 15:17:25 +03:00
function closeDb(database) {
if (database) {
database.close();
}
}