74 lines
1.6 KiB
JavaScript
74 lines
1.6 KiB
JavaScript
'use strict';
|
|
|
|
const mongodb = require('mongodb');
|
|
const Dao = require('./dao.js');
|
|
const ObjectID = mongodb.ObjectID;
|
|
|
|
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;
|
|
});
|
|
}
|
|
|
|
function closeDb(database) {
|
|
if (database) {
|
|
database.close();
|
|
}
|
|
}
|