1.0.6 • Published 6 years ago

mongo-amj v1.0.6

Weekly downloads
2
License
MIT
Repository
github
Last release
6 years ago

Mongodb Handler

Travis CI Build Status Maintainability Scrutinizer Build Code Quality Code Coverage Status

Module for connecting and using mongodb

Installation

npm install mongo-amj --save

Setup

const dsn = "mongodb://localhost:27017/chat";
const db  = require('mongo-amj').init(dsn, 'collection');

Usage

Get data from collection

const data = await db.get();

Insert an item

var item = {
    user: "Andy",
    message: "Testing"
};

await db.insert(item);

Update an item

const msg = await db.get();
const old = msg[1];

var item = {
    user: "Andy",
    message: "Edited"
};

await db.update(old._id, item);

Remove an item

const msg = await db.get();
const old = msg[1];

await db.delete(old._id);

Reset collection

await db.reset();

Express example, use database with submit form

// Get data from collection and send it to view
router.get("/crud", async (req, res) => {
    const data = await db.get();

    await db.close();
    res.render("crud", {
        title: "Crud",
        items: data
    });
});
// Insert object and return to previous page
router.post("/insert", async (req, res) => {
    var item = {
        make: req.body.make,
        model: req.body.model,
        submodel: req.body.submodel,
        year: req.body.year
    };

    try {
        await db.insert(item);
        res.redirect('back');
    } catch (err) {
        console.log(err);
    }
});
// Update object and return to previous page
router.post("/update", async (req, res) => {
    var item = {
        make: req.body.make,
        model: req.body.model,
        submodel: req.body.submodel,
        year: req.body.year
    };

    try {
        await db.update(req.body.id, item);
        res.redirect('back');
    } catch (err) {
        console.log(err);
    }
});
// Delete an item and return to previous page
router.post("/delete", async (req, res) => {
    try {
        await db.delete(req.body.id);
        res.redirect('back');
    } catch (err) {
        console.log(err);
    }
});
// Reset collection and return to previous page
router.post("/reset", async (req, res) => {
    try {
        await db.reset();
        await db.close();
        res.redirect('back');
    } catch (err) {
        console.log(err);
    }
});