2 Commits

Author SHA1 Message Date
Pierre THIERRY
d4cc887bf5 WIP 2020-09-06 12:20:22 +02:00
Pierre THIERRY
14da8bf0f1 Correct the insert function in base repository. 2020-09-06 11:54:57 +02:00
2 changed files with 24 additions and 18 deletions

View File

@@ -8,12 +8,23 @@ const port = 3000;
const mongoClient = new MongoClient();
app.get('/test', (request, response) => {
mongoClient.insert('test', {creationDate: new Date()}, () => {
mongoClient.find('test', {}, results => {
console.log(results);
response.send(JSON.stringify(results));
response.json(results);
});
});
app.get('/test2', (request, response) => {
// mongoClient.insert('test', {address: 'localhost'}, (result) => {
// response.json(result);
// });
// mongoClient.update('test', {_id: '5f54b1c0f4dca82b7ad825bc', address: '127.0.0.1', updated: new Date()}, (result) => {
// response.json(result);
// });
mongoClient.delete('test', '5f54b6c52d9355311a4e68a0', () => {
response.status(200).send('Deleted');
});
});
app.listen(port, () => console.log('Mock is listening at port ', port, '\n'));

View File

@@ -1,4 +1,5 @@
const mongodb = require('mongodb');
const ObjectID = require('mongodb').ObjectID;
const assert = require('assert');
const mongoConfig = {
@@ -14,12 +15,6 @@ class MongoClient {
assert.equal(null, err);
console.log('Connected successfuly to mongodb');
this.db = client.db(mongoConfig.database);
this.db.collection('test').find({}, (err, results) => {
results.forEach(console.log);
});
// client.close();
});
}
@@ -27,7 +22,6 @@ class MongoClient {
this.db.collection(collectionName).find(query).toArray()
.then(results => {
console.log(`Entities ${collectionName} founded.`);
console.log(results);
callback(results);
})
.catch(error => console.error(error));
@@ -37,23 +31,24 @@ class MongoClient {
this.db.collection(collectionName).insert(entity, (error, result) => {
assert.equal(null, error, `Unable to insert ${collectionName} entity: ${error}.`);
console.log(`Entity ${collectionName} inserted.`);
callback(result);
// Return only the inserted document.
callback(result.ops[0]);
});
}
update(collectionName, entity, query, callback) {
this.db.collection(collectionName).update(query, entity, (error, result) => {
update(collectionName, entity, callback) {
this.db.collection(collectionName).save(entity, (error) => {
assert.equal(null, error, `Unable to update ${collectionName} entity: ${error}.`);
console.log(`Entity ${collectionName} updated.`);
callback(result);
callback();
});
}
delete(collectionName, entityId, callback) {
this.db.collection(collectionName).deleteOne({id: entityId}, (error, result) => {
this.db.collection(collectionName).deleteOne({id: new ObjectID(entityId)}, (error) => {
assert.equal(null, error, `Unable to delete ${collectionName} entity with id ${entityId}: ${error}.`);
console.log(`Entity ${collectionName} with id ${entityId} deleted.`);
callback(result);
callback();
});
}
}