express 连接 mongodb的做法

Posted 佑之以航

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了express 连接 mongodb的做法相关的知识,希望对你有一定的参考价值。

废话不错说,直接看代码:

  1. 首先下载mongodb

     npm i mognodb --save  或者 cnpm i mongodb
  2. 在当前express项目里面新建文件夹db,然后新建test.js 数据库连接文件

    // 链接 firstblood 集合
    var mongoose = require('mongoose');
    var db = mongoose.createConnection('mongodb://localhost:27017/firstblood');
    // 链接错误
    db.on('error', function(error) {
        console.log(error);
    });
    // Schema 结构
    var Schema = mongoose.Schema;
    //表一
    var userlistScheMa = new Schema({
        user     : String,
        password : String,
        //content  : {type : String},
        //time     : {type : Date, default: Date.now},
        age      : Number,
        name     : String,
        phone    : String,
        address  : String,
        numbers  : String,
    });
    // 关联 userlist -> admins 表   表数据有问题,一切都白搭!
    //表一
    exports.userlist = db.model('admins', userlistScheMa,'admins');
    exports.db = db;
    console.log('数据库启动成功!!!!');
  3. 在当前express项目找到app.js 在里面引入该数据库连接文件

    require('./db/test');
    var userlist = require("./db/test").userlist
  4. 使用当前表来做增删改查操作

    // 查找
    userlist.find({查找值名: 传入当前搜索值},fucntion(err, docs){
        console.log(docs)
    })
    
    // 修改
    userlist.update({
        修改值名 : 传入当前修改值
    }, {
        user:req.query.user,
        password: req.query.password,
        age: req.query.age,
        numbers: req.query.numbers,
        name: req.query.name,
        phone: req.query.phone,
        address: req.query.address // 更新操作
    }, function(error) {});
    
    // 删除
    userlist.remove({
        删除值名: 传入需要删除的值
    }, function(err,docs) {
        if (err) return handleError(err);
        // removed!
    });
    
    // 增加
    var userlist2 = new userlist({
        增加值名: 增加值,
        增加值名: 增加值
    })
    userlist2.save(function(err,docs){
        /**设置响应头允许ajax跨域访问**/
        res.setHeader("Access-Control-Allow-Origin","*");
        /*星号表示所有的异域请求都可以接受,*/
        res.setHeader("Access-Control-Allow-Methods","GET,POST");
        if(err){
            res.send('1')
        }else{
            res.send('保存成功!')
        }
    })

以上是关于express 连接 mongodb的做法的主要内容,如果未能解决你的问题,请参考以下文章

连接到 MongoDB 但 Express .get 返回 404 错误?

在 Express.js 应用程序中打开多个 MongoDB 连接

在 Express.js 应用程序中打开多个 MongoDB 连接

用express框架,MongoDB连接数据库 渲染页面

mongodb 连接如何处理 NodeJS express 服务器中的并发请求?

如何让 Express 返回我刚刚在 MongoDB 中删除的对象