首页 > 技术文章 > Express加mongodb(简要介绍)

firefish1 2019-02-19 17:29 原文

一、Express

Express是基于nodejs,快速、开放、极简的web开发框架

1、安装Express
直接执行以下命令

npm install express --save

2、使用Express
我们为了区别view层的代码,可以创建一个server文件夹,用来放服务层代码,然后创建一个js文件来放服务端代码(用node命令执行文件)。接着用Express启动一个服务:

const express = require('express');
const app = new express();
app.listen(9090,function() {
	console.log('server done')
})//端口号为9090的服务

然后我们可以使用Express的一些方法:

app.get("/",function() {
	res.send('<h1>hello world</h1>')
})//Express get方法访问根目录

我们对路由和相应内容进行监听时,需要不断的重复node命令,会很麻烦,但nodemon可以适时监听,不需要我们手动重启服务

二、Mongodb

MongoDB 是一个基于分布式文件存储的数据库

1、安装Mongodb

windows下可以直接去官方平台进行下载并且安装Mongodb官网下载地址
安装好之后记得设置好系统环境变量

2、创建数据目录并启动

MongoDB将数据目录存储在 db 目录下。但是这个数据目录不会主动创建,我们在安装完成后需要创建它。请注意,数据目录应该放在根目录下,下面我们在c盘创建

c:\>cd c:\

c:\>mkdir data

c:\>cd data

c:\data>mkdir db

c:\data>cd db

c:\data\db>

这样之后,进入MongoDB 目录的 bin 目录,执行 mongod.exe 文件,输入命令

mongod --dbpath c:\data\db

完成之后,即可在浏览器输入localhost:27017 (27017是mongodb的端口号)查看

3、Mongoose

mongoose是nodeJS提供连接 mongodb的一个库,它储存的是json

a、安装Mongoose

npm install mongoose --save

b、用Mongoose连接Mongodb

const mongoose = require('mongoose');
   //链接mongdob 并使用apptest集合
   const DB_URL = 'mongodb://localhost:27017/apptest';
   mongoose.connect(DB_URL);
   mongoose.connection.on("connected",function(){
  console.log("success");
});

c、定义Mongoose文档模型

//建立mongodb里面的文档模型 类似于mysql的表
const User = mongoose.model('user',new mongoose.Schema({
  name:{type:String,require:true},
  
  age:{type:Number,require:true}
}));

4、数据的增删查改

a、增加数据

//新增数据
User.create({
  name:'chenjunchen',
  age:25
},function(err,doc) {
  if(!err){
    console.log(doc);
  }else {
    console.log(err);
  }
});

b、删除数据

//删除所有age为18的
User.remove({age:22},function(err,doc){
  if(!err){
    console.log(doc);
  }else {
    console.log(err);
  }
})

c、查找数据

//访问创建的所有数据
User.find({},function(err,doc){
    res.json(doc)
  })User.find({},function(err,doc){
    res.json(doc)
  })
//访问一条匹配数据
User.findOne({'name':'chenjunchen123'},function(err,doc){
    res.json(doc)
  })

d、更新数据

//更新数据
User.update({'name':'chenjunchen'},{'$set':{age:21}},function (err,doc) {
  console.log(doc)
})

推荐阅读