diff --git a/dao.js b/dao.js index 1d406dd..182e3b0 100644 --- a/dao.js +++ b/dao.js @@ -2,7 +2,7 @@ const mongodb = require('mongodb'); const ObjectID = require('mongodb').ObjectID; -const COLLECTION = 'test-collection'; +const COLLECTION = 'contacts'; class Dao { @@ -15,6 +15,18 @@ class Dao { return this.db.collection(COLLECTION).find().toArray(); } + findById(id) { + id = new ObjectID(id); + return this.db.collection(COLLECTION).findOne({_id:id}); + } + + update(id, data) { + id = new ObjectID(id); + data._id = id + return this.db.collection(COLLECTION) + .updateOne({_id:id}, data); + } + close() { if (this.db) { this.db.close(); diff --git a/mongo.js b/mongo.js index cf51e6a..87f4822 100644 --- a/mongo.js +++ b/mongo.js @@ -4,20 +4,67 @@ const mongodb = require('mongodb'); const Dao = require('./dao.js'); const ObjectID = mongodb.ObjectID; -var url = 'mongodb://...'; +var url = 'mongodb://i399:salakala@ds137191.mlab.com:37191/i399'; -var data = { name: 'Jill' }; +var data = { name: 'John' }; -var database; -mongodb.MongoClient.connect(url).then(db => { - database = db; - return db.collection('test-collection').insertOne(data); -}).then(() => { - closeDb(database) -}).catch(error => { - closeDb(database); - throw error; -}); +//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) {