How to Use MongoDB with Deno
Updated:
How to Use MongoDB with Deno
1) Visit ‘Third Party Modules’ page of ‘Done’ Website (https://deno.land/x).
2) Enter ‘mongo’ on the ‘Search Input Box’ and press ‘Enter’.
3) Click ‘mongo’ link.
3) Run ‘deno command’ when you want to ren deno_mongo.
deno run --allow-net --allow-write --allow-read --allow-plugin --unstable xxx.ts
4) Examples of codes
- ##Import## Mongo module.
import { MongoClient } from "https://deno.land/x/mongo@v0.8.0/mod.ts"; - Connection
const client = new MongoClient(); client.connectionWithUri("mongodb://localhost:27017"); - Defining schema interface
interface UserSchema { _id: { $oid: string }; username: string; password: string; }; - DB & Schema
const db = client.database("test"); const users = db.collection<UserSchema>("users"); - insert
const insertId = await users.insertOne({ username: "user1", password: "pass1", }); - insertMany
const insertIds = await users.insertMany([ { username: "user1", password: "pass1", }, { username: "user2", password: "pass2", }, ]); - findOne
const user1 = await users.findOne({ _id: insertId }); // Returns: // { _id: { $oid: "<oid>" }, username: "user1", password: "pass1" } - find
const all_users = await users.find({ username: { $ne: null }}); - find by ObjectId
const user1_id = await users.findOne( { _id: { "$oid": "<oid>" }}, ); - count
const count = await users.count({ username: { $ne: null } }); - aggregation
const docs = await users.aggregate([ { $match: { username: "many" } }, { $group: { _id: "$username", total: { $sum: 1 } } }, ]); - updateOne
const { matchedCount, modifiedCount, upsertedId } = await users.updateOne( { username: { $ne: null } }, { $set: { username: "USERNAME" } }, ); - updateMany
const { matchedCount, modifiedCount, upsertedId } = await users.updateMany( { username: { $ne: null } }, { $set: { username: "USERNAME" } }, ); - deleteOne
const deleteCount = await users.deleteOne({ _id: insertId }); - deleteMany
const deleteCount2 = await users.deleteMany({ username: "test" });
References
Deno. deno_mongo. Retrieved July 8, 2020, from https://deno.land/x/mongo —