MongoDB数据库连接nodejs服务

# MongoDB与 MongoDB compass
下载安装MongoDB安装与配置
下载安装MongoDBcompass 提取码: 7f9i

> 运行MongoDB,MongoDBcompass连接MongoDB,并新建数据

# nodejs与MongoDB连接
``` 

node文件夹下 npm install mongoose --save
//引入模块
var mongoose = require('mongoose');
//连接数据库
//myUsers是我新建数据的名称
mongoose.connect('mongodb://localhost:27017/myUsers');
//得到数据库连接句柄
var db = mongoose.connection;
//通过数据库连接句柄,监听mongoose数据库成功的事件
db.on('open',function(err){
    if(err){
        console.log('数据库连接失败');
        throw err;
    }
    console.log('数据库连接成功')
})
//创建一个模型
//注意 myUsers数据库下的表名是users,是复数
var user = mongoose.model("user" , userSchema);
console.log(user)
user.find({},function(err,docs){
    console.log(err);
    console.log(docs);//查询全部这个表返回的数据
});

``` 

# app.js所有的数据
``` 

var express = require('express')//引入 express包
var path = require('path')
var bodyparser = require('body-parser')//对form表单提交的数据进行引用
var app = express()//实例化一个对象
app.use(bodyparser.json())//对json数据进行处理
app.use(bodyparser.urlencoded({extended:false}))//解密

//引入模块
var mongoose = require('mongoose');
//连接数据库
mongoose.connect('mongodb://localhost:27017/myUsers');
//得到数据库连接句柄
var db = mongoose.connection;
//通过数据库连接句柄,监听mongoose数据库成功的事件
db.on('open',function(err){
    if(err){
        console.log('数据库连接失败');
        throw err;
    }
    console.log('数据库连接成功')
})

app.post('/b' , function(req , res) {//post接口
    // res.status(200).send('这是get回来的数据')
    var stu={
        name:'lilei',
        age:21
    }
    res.status(200).json({
        code:200,
        success:true,
        data:stu
    })
})
app.get('/a' , function(req , res) {//get接口
    // res.status(200).send('这是get回来的数据')
    //创建一个schema
    var userSchema = {
        "name"     : String,
        "age"     : Number,
        "sex"     : String,
        "createTime": Date
    };

    //创建一个模型
    var user = mongoose.model("user" , userSchema);
    console.log(user)
    user.find({},function(err,docs){
        console.log(err);
        console.log(docs);
    });
    // var stu={
    //     name:'lili',
    //     age:20
    // }
    // res.status(200).json({
    //     code:200,
    //     success:true,
    //     data:stu
    // })
})

app.get('/d/:id' , function(req , res) {//get接口传参
    // res.status(200).send('这是get回来的数据')
    var students=[
        {name:'hello',age:21,id:100},
        {name:'helloni',age:22,id:101},
        {name:'hellowo',age:24,id:102},
    ]
    var idx=req.params.id;
    console.log(idx)
    var obj={}
    for(var i=0;i<students.length;i++) {
        if(students[i].id == idx) {
            obj=students[i];
        }
    }
    res.status(200).json(obj)
})
app.post('/f' , function(req , res) {//post接口 from表单提交
    // res.status(200).send('这是get回来的数据')
    var name=req.body.name;
    var age=req.body.age;
    var id=req.body.id;
    var obj={
        name:name,
        age:age,
        id:id
    }
    console.log(name);
    res.status(200).json(obj)
})
app.all('/c' , function(req , res) {//接口c,既可以get请求到也可以为post请求
    // res.status(200).send('这是get回来的数据')
    var stu={
        name:'liuhao',
        age:22
    }
    res.status(200).json({
        code:200,
        success:true,
        data:stu
    })
})
//src下新建一个 list.html localhost:3000/list跳转到这个页面
app.use('/list',function(req,res) {
    res.status(200).sendFile(path.join(__dirname,'src','info.html'))
})

//index.html默认访问页面 localhost:3000 跳转到这个页面
app.use(express.static(path.join(__dirname,'src')))

//src下新建一个 err文件夹 并新建一个404.html,如果上面 都找不到就跳到404页面
app.use('*',function(req,res) {
    res.status(200).sendFile(path.join(__dirname,'src','err','404Error.html'))
})
app.listen(3000 , function(err){//启动一个3000的服务
    if(err){
        console.log('监听失败')
        throw err
    }
    console.log('服务器已开启,端口号为3000')
})

```

```

猜你喜欢

转载自blog.csdn.net/chenacxz/article/details/106336856