UNPKG

@arisan/data-api

Version:

The Universal Database API Gateway for CLIO's Modules

67 lines (61 loc) 1.46 kB
'use strict'; var MongoClient = require('mongodb').MongoClient; exports.ObjectIdRegExp = new RegExp('^[a-fA-F0-9]{24}$'); exports.CreateCollection = (collectionName, callback) => { MongoClient.connect(process.env.CLIO_MONGO_URL, (err, db) => { if (err) { db && db.close(); callback(err); return; } db.createCollection(collectionName, (err) => { db.close(); if (err) { callback(err); return; } callback(); }); }); }; exports.DropCollection = (collectionName, callback) => { MongoClient.connect(process.env.CLIO_MONGO_URL, (err, db) => { if (err) { db && db.close(); callback && callback(err); return; } db.dropCollection(collectionName, (err) => { db.close(); if (err && err.message !== 'ns not found') { callback && callback(err); return; } callback && callback(); }); }); }; exports.InsertOne = (doc, collectionName, callback) => { MongoClient.connect(process.env.CLIO_MONGO_URL, (err, db) => { if (err) { db && db.close(); callback(err); return; } db.collection(collectionName, (err, collection) => { if (err) { db.close(); callback(err); return; } collection.insertOne(doc, (err) => { db.close(); if (err) { callback(err); return; } callback(); }) }); }); };