npm.io
0.0.4 • Published 6 years ago

mdb-driver

Licence
MIT
Version
0.0.4
Deps
1
Size
12 kB
Vulns
0
Weekly
0

mdb-driver

Node.js npm package for works with mongodb driver >= 4.2 version

install

npm i mdb-driver

use

listDatabases
const Mdb = require('mdb-driver');
const db = new Mdb('mongodb://localhost:27017');

(async () => {
    let dbs = db.listDatabases();
    console.log(await dbs);
})();
listCollections
let listCollections = db.listCollections('db_name');

(async () => {
    console.log(await listCollections);
})();
findOne
let findOneResult = db.findOne({
    dbName: 'test',
    collection: 'users',
    query: {
        title: "Username"
    },
    options: {
        sort: {
            age: -1
        },
        projection: {
            _id: 0,
            age: 1,
            phone: 1
        },
    }
});

(async () => {
    console.log(await findOneResult);
})();
find
let resultArray = db.find({
    dbName: 'test',
    collection: 'users',
    query: {
        age: {
            $lt: 15
        }
    },
    options: {
        sort: {
            name: 1
        },
        projection: {
            _id: 0,
            name: 1,
            phone: 1
        },
    }
});

(async () => {
    console.log(await resultArray);
})();
insertOne
let insertOneResult = db.insertOne({
    dbName: 'test',
    collection: 'users',
    document: {
        {
            name: 'Bob',
            age: 31,
            phone: 6500000000
        }
    }
})
insertMany
let insertMany = db.insertMany({
    dbName: 'test',
    collection: 'users',
    documents: [{
            name: 'Nikoly',
            age: 27,
            phone: 6500000009
        },
        {
            name: 'Mark',
            age: 55,
            phone: 6500000007
        },
        {
            name: 'Givi',
            age: 62,
            phone: 6500000005
        }
    ],
    options: {
        ordered: true
    }
})
updateOne
let updateOneResult = db.updateOne({
    dbName: 'test',
    collection: 'users',
    filter: {
        name: 'Givi'
    },
    update: {
        $set: {
            age: 63
        }
    },
    options: {
        // this option instructs the method to create a document if no documents match the filter
        upsert: false
    }
})
updateMany
let updateManyResult = db.updateMany({
    dbName: 'test',
    collection: 'users',
    filter: {
        birthday: toDay
    },
    update: {
        $inc: { //https://docs.mongodb.com/manual/reference/operator/update-field/
            age: 1
        }
    }
})
replaceOne
let replaceOneResult = db.replaceOne({
    dbName: 'test',
    collection: 'users',
    query: {
        name: 'Bob'
    },
    replacement: {
        phone: 7500000000
    },
    options: {
        // create a document if no documents match the query
        upsert: true,
    }
})
deleteOne
let deleteOneResult = db.deleteOne({
    dbName: 'test',
    collection: 'users',
    query: {
        phone: {
            $type: "string"
        }
    }
})
deleteMany
let deleteManyResult = db.deleteMany({
    dbName: 'test',
    collection: 'users',
    query: {
        age: {
            $gte: 80 //https://docs.mongodb.com/manual/reference/operator/query-comparison/
        }
    }
})
other
let res;
res = estimatedDocumentCount({
    dbName: 'test',
    collection: 'users'
});

res = countDocuments({
    dbName: 'test',
    collection: 'users',
    query: {
        age: {
            $in: [18, 65]
        }
    }
});

db.distinct({//https://docs.mongodb.com/drivers/node/usage-examples/distinct
    dbName,
    collection,
    field,
    query
})

Keywords