学习之路(2)node服务器,利用mongoose模块.搭建数据库

1.利用npm先下载mongoose

2.建立数据模型(data-user.js)

const mongoose = require('mongoose');
const Schema = mongoose.Schema;
 const BlogPost = new Schema({
us:String,
phone:String
});
//上面是声明的模型,
module.exports=mongoose.model('user',BlogPost);//使模型和数据库进行关联

user为自定义表名,存储的内容包括us    phone,数据库可以根据这个自动创建表

*在实际的数据库中,表的名字为users(这是数据库自动加上的)

最后一句话,把设计的这个模型进行导出.

3.连接数据库(connect.js)

var mongoose=require('mongoose');
mongoose.connect('mongodb://localhost:27017/usDB',{useNewUrlParser:true});
var db=mongoose.connection;
db.on("err",function(error){console.log(error);});
db.on("open",function(){
	console.log("数据库连接成功");
});
db.on("disconnected",function(){console.log("断开连接");});
module.exports=db;

第二行的usDB为数据库的名字,你必须提前建好数据库,它不会自己创建数据库,没有这个数据库,后面的操作就没意义了

当然这个也需要导出,然后统一在node搭建的服务器上运行,达到层次分明.

4.整理代码(index.js)

var express = require('express');
var app = express();
let bodyParser=require('body-parser');//post格式解析插件
app.use(bodyParser.urlencoded({extended:false}))
app.use(bodyParser.json());//可以接收json格式数据
app.use('/static',express.static('./static'));//设置静态资源路径
let db=require("./connect.js");//链接并打开data数据库
let us=require("./data-user.js");//数据库的一个表app.post('/', function (req, res) {
  //前端传来的数据都存在于req.body中
    us.find({"us":"hello"},function(err,doc){
           if (err) {
                console.log("错误")
           } 
if (doc.length!=0) {
    console.log(doc);
}
else{
     var arr = [{ us: 'Star Wars' }, {us: 'hello' }];
                       us.insertMany(arr, function(error, docs) {
                                 if (error) {
                                     console.log("error")
                                 }
                                 else{console.log("数据添加成功")}
                          });
}
})
});

打开服务器,未发起ajax请求前

图一

第一次前端发起ajax请求

图2

警告:find这个方法有可能在以后的版本中不能用,但是现在还可以用

第二次前端发ajax起请求

图三

var server = app.listen(3000, function () {
  var host = server.address().address;
  var port = server.address().port;

  console.log('Example app listening at http://%s:%s', host, port);
});

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值