@egomobile/mongo
v2.0.0
Published
Classes, functions and tools, that help connecting to Mongo DB servers.
Downloads
11
Readme
@egomobile/mongo
Classes, functions and tools, that help connecting to Mongo DB servers, written in TypeScript.
Install
Execute the following command from your project folder, where your package.json
file is stored:
npm install --save @egomobile/mongo
Usage
import { MongoDatabase } from "@egomobile/mongo";
// set MONGO_DB env variable with the name of the database
// set MONGO_URL env variable with the mongo connection URI
async function main() {
// alternative:
//
// mongo = new MongoDatabase();
// await mongo.connect();
const mongo = await MongoDatabase.open();
// mongo.isConnected should be (true) now
// terminate process if connection is closed
// --or-- close connection if process is exiting
//
// then return 3 as exit code
mongo.exitOnClose(3);
const my_collection = mongo.collection("my_collection");
// count documents; should be 0
const count1 = await my_collection.count({});
const count2 = await my_collection.count({ foo: 1 });
// insert single or many documents
await my_collection.insertOne({ foo: 1 });
await my_collection.insertMany([
{
foo: 1,
},
{
foo: 2,
bar: "3",
},
]);
// find documents
const firstMatchingDoc = await my_collection.findOne({ foo: 1 });
const matchingDocs = await my_collection.find({ foo: 2 });
// update documents
await my_collection.updateOne(
{ foo: 1 },
{
foo: "11",
}
);
await my_collection.updateMany(
{ foo: 2 },
{
foo: "222",
}
);
// delete documents
await my_collection.deleteOne({ foo: 1 });
await my_collection.deleteMany({ foo: 2 });
// do some low-level operations
await mongo.withClient(async (client, db) => {
const collection = db.collection("my_collection");
return collection.find({ foo: 2 }).toArray();
});
// close connection
await mongo.disconnect();
}
main().catch(console.error);
Documentation
The API documentation can be found here.