Mongoose实现CRUD

使用 mongoose 实现CRUD可以减少我们的工作量,因为它不用操作数据库,而是直接操作对象的,下面就来看看CRUD的具体实现。

首先看一下整个目录的结构:

项目目录结构

首先对整个路由的设计:
app.js

const express = require('express');
const app = express();
const routers = require('./routers/routers');

app.set('view engine','ejs');

app.get('/',routers.showAdd);//添加页面
app.get('/doAdd',routers.doAdd);//执行添加
app.get('/find',routers.find);//执行查找
app.get('/remove',routers.remove);//执行删除
app.get('/update',routers.update);//执行修改

app.listen(3000);

然后在models文件夹中有对数据库的连接和创建的模型;
db.js

/**
 * Created by jiunuo on 2017/8/10.
 */
var mongoose = require('mongoose');
//创建数据库连接
var db = mongoose.createConnection('mongodb://127.0.0.1/database');
//监听open事件
db.once('open', function (callback) {
    console.log("数据库成功连接");
});
//向外暴露这个db对象
module.exports = db;

student.js

/**
 * Created by jiunuo on 2017/8/10.
 */
const mongoose = require('mongoose');
var db = require("./db.js");
var studentSchema = new mongoose.Schema({
    name     :  {type : String},
    age      :  {type : Number}
});

//类是基于schema创建的。
var studentModel = db.model('student', studentSchema);

module.exports = studentModel;

routers.js中具体实现:

/**
 * Created by jiunuo on 2017/8/10.
 */
const student = require("../models/student.js");

exports.showAdd = function (req, res, next) {
    res.render('index')
};
// 添加学生
exports.doAdd = function (req, res, next) {
    let name = req.query.name;
    let age = req.query.age;
    student.create({"name": name, "age": age}, function (err, result) {
        if (err) {
            res.send('添加失败')
        }
        res.send('添加成功');
    });
};
// 查找学生,分页
exports.find = function (req, res, next) {
    student.find('小红', function (err, result) {
        if (err) {
            res.send('查询失败');
        }
        res.send(result);
    }).skip(1).limit(1);
};
// 修改学生信息
exports.update = function (req, res, next) {
    student.update({'name': '小红'}, {$set: {"age": "1"}}, function (err, result) {
        if (err) {
            res.send('修改失败')
        }
        res.send('修改成功')
    })
};
// 删除学生信息
exports.remove = function (req, res, next) {
    student.remove({"name": "黄森"}, function (err, result) {
        if (err) {
            res.send('删除失败')
        }
        res.send('删除成功')
    })
};

github地址:https://github.com/17868804701/mongooseCRUD.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,734评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,229评论 4 61
  • 无数个年轻的夜晚,我们都在纪念着什么,是周公美好的呼唤,亦或是对生活的拷问,还是和我一样无法释怀的内心。 ...
    Someonein阅读 3,385评论 0 0
  • 又是一个阴雨天,清晨威风凛凛天空稍有些灰暗,仿佛我还沉寂在昨夜的梦里;丝丝细雨洒在脸上把我从昏迷中唤醒,...
    进取哥阅读 1,007评论 0 1
  • 我愿 醉于书间 却未曾金迷 走过少年 仍赤白干净 我愿有一日 素缕换成红嫁衣 绾青丝 点绛唇 眸中尽是心上人
    妃卿阅读 2,755评论 1 2