DEV Community

loading...
Cover image for MongoDB database driver for Deno

MongoDB database driver for Deno

Keramot UL Islam
WordPress Enthusiast. Loves PHP, and JavaScript.
・1 min read

As you already know that Deno is a new run time of JavaScript and TypeScript. Recently it has published first stable release.

MongoDB is the most popular NoSQL database. Deno also has a third-party module deno_mongo to handle MongoDB queries.

deno_mongo is a MongoDB database driver for Deno, based on rust's official MongoDB library package. Right now it's on --unstable flug.

I'm assuming that you have installed MongoDB and Deno on your machine. So, let's see how it works...
Necessary permissions to run this module: --allow-net --allow-write --allow-read --allow-plugin --unstable

import { MongoClient } from "https://deno.land/x/mongo/mod.ts"

const client = new MongoClient()
client.connectWithUri("mongodb://localhost:27017")

const db = client.database("denoDB");
const greetings = db.collection("greetings");

on client.connectWithUri you will put your own URL. In my case, I have a database called denoDB and a collection called greetings in that database.

Now let's insert some data in there:

const hello = await greetings.insertOne({
    sayHello: "Hello World..."
});

If you check on the terminal db.greetings.find() then you'll get that data back, or you can find the data using deno_mongo:

const find = await greetings.find({
    _id: hello
});
console.log(find)



Update and Delete:
updateOne returns { matchedCount, modifiedCount, upsertedId } these three informations.

// update
const { matchedCount, modifiedCount, upsertedId } = await greetings.updateOne(
    { sayHello: { $ne: null } },
    { $set: { sayHello: "Hello Universe..." } }
);

// delete
const delete = await greetings.deleteOne({ _id: hello });

Discussion (0)