1,  在schema 目录创建 users.js 文件,通过 mongoose 模块来操作数据库

2,  在定义 users 表结构之前,需要让应用支持或连接数据库 。 所以要在应用的入口文件 app.js 中 进行数据库的重放(即加载数据库)

3 ,    var mongoose = require('mongoose')

4 ,    mongoose.connect()  //连接数据库  。

5  ,   在连接之前需要开启数据库 ,

 (1)    cmd 进入  E:\MongoDB\Server\4.0\bin    目录下  E:\MongoDB\Server\4.0\bin> mongod       (执行前需要设置参数,详情看1.5.2,1.5.3)

(2) 指定数据库存储路径 : 项目的数据库目录  。

(3)    指定端口

 (4)  执行    =》    PS E:\MongoDB\Server\4.0\bin> mongod --dbpath=D:\node\blog\blog-2\db --port=27018

(5)     也可以通过可视化工具 robomongodb 来连接 mongodb

(6)     文档 : https://mongoosejs.com/docs/connections.html

一, 入口文件 app.js

mongoose.connect('mongodb://localhost:27018/blog-2', {useNewUrlParser: true},(err)=>{  // blog-2 为项目目录的名称
  if(err) {
    console.log('数据库连接失败')
  }else{
    console.log('数据库连接成功')
    app.listen(3000)
  }
}) 
 
二, 定义数据库表文件  /schema/users.js  
 
var mongoose = require('mongoose')
/**
*  创建表结构
*/
module.exports = new mongoose.Schema({
  username:String,
  password:String
})
 
三, 定义模型类文件,用于对用户的增删改查  /models/User.js    ( 模型类的使用 :https://mongoosejs.com/docs/models.html )
 
var mongoose = require('mongoose')
userSchema = require('../schemas/users')
/**
* 创建模型
*/
module.exports= mongoose.model('User',userSchema)
 
 
——————————————————————————
 
补充:
 

1、先安装mongoose
npm install mongoose -D

2、启动mongodb
cd 你的mongodb安装目录/bin
dbpath后面跟的路径是你数据库 数据文件存放位置,自己随便存一个地方
命令: mongod --dbpath=D:\node\blog\blog-2\db --port=27018

3、在schemas中定义各个模块的schema数据库表结构,数据库表结构定义好后,导出表结构
const mongoose = require('mongoose')
const Schema = mongoose.Schema

// 用户表的数据结构
const user = new Schema({
  // 用户名
  username: String,
  // 密码
  password: String
})

module.exports = user

4、在models中定义各自的model操作方法,当然需要再modals相应的模块中引入 schema
const mongoose = require('mongoose')
const usersSchema = require('../schemas/user')

// 通过 mongoose创建模型
const UserModel = mongoose.model('User', usersSchema)

// 将这个模型导出 model上是可操作数据的 CURD
module.exports = UserModel

5,记得在app.js中,就是后台 express或者你其他框架或者原生node的入口文件中,连接数据库
const mongoose = require('mongoose')
const db = mongoose.connect('mongodb://localhost:27017/huaxia', (err)=> {
if(err) {
console.log('连接失败')
return
}
console.log('连接成功')
})
 

5 ~ express ~ 连接数据库的更多相关文章

  1. express 连接数据库

    (1)创建项目 ,项目名cntMongodb express -e cntMongodbcd cntMonfodbnpm installnpm install mongoose --save //安装 ...

  2. express连接数据库 读取表

    connection 连接数据库    connection.query 查询表   1.依赖 const mysql = require('mysql'); 连接数据库代码 var connecti ...

  3. mongoDB3.0版本使用express读取数据

    使用express连接数据库操作 var express = require('express'); var app = express(); var MongoClient = require('m ...

  4. 基于 Sequelize.js + Express.js 开发一套 Web 后端服务器

    什么是 Sequelize 我们知道 Web 应用开发中的 Web 后端开发一般都是 Java.Python.ASP.NET 等语言.十年前,Node.js 的出现使得原本仅限于运行在浏览器中的 Ja ...

  5. 前端笔记之NodeJS(四)MongoDB数据库&Mongoose&自制接口&MVC架构思想|实战

    一.MongoDB数据库 1.1 NoSQL简介 随着互联网web2.0网站的兴起,传统的SQL数据库(关系数据库)在应付web2.0网站,特别是超大规模和高并发的SNS(social network ...

  6. 山西WebGIS项目总结

    有一段时间没写blog了,说实话,最近的心态一直在变化,看了一部日剧,回想了这一年所学所见,感觉生活目标变了. 做国土项目这段时间不是很忙,由于数据一直给不到位,时间拖得很久,所以在这期间也在继续学习 ...

  7. Node-Blog整套前后端学习记录

    Node-Blog 后端使用node写的一个一整套的博客系统 #### 主要功能 登录 注册 发表文章 编辑/删除文章 添加/删除/编辑文章分类 账号的管理 评论功能 ... 所用技术 node ex ...

  8. bash: express: command not found及vue连接数据库调接口

    今天在使用express -e . 的命令时,cmd给我报了一段不识别的错误: bash: express: command not found ,在网上查了一下,有人指出是express4的版本将命 ...

  9. node连接数据库(express+mysql)

    操作是在ubuntu系统的下环境,简单记录一下过程. 首先用apt-get安装数据库,键入命令 sudo apt-get install mysql-server , 一路回车,然后在一个界面设置一下 ...

随机推荐

  1. 网络流之最大流(详解 附《算法导论》上证明 及P4843 清扫雪道)

    由于此篇笔记写于本地,篇幅较大,导出困难,所以将其转换为了图片,方便阅读.

  2. 单词统计——基本Java实现(无特殊设置)

    日期:2019.5.4 博客期:066 星期六 今天写了统计一篇文章中的单词数量,把出现最多的前几个显示出来,差不多就是这么个程序! 实现思想: 分布处理: 1.读取文件,将文件里的字符串按照换行符和 ...

  3. Lesson 46 Hobbies

    Who, according to the authour, are 'Fortune's favoured children'? A gifted American psychologist has ...

  4. 项目实战报异常Exception及决绝方案

    1.报LifecycleException,再配置一下jdk即可,然后再手动添加maven 解决方法:  然后,手动添加jar包 2.maven 项目,右键maven build启动项目的时候,报下面 ...

  5. Django(十六)基于模板的登录案例:登录装饰器、csrf攻击方式及防护、ajax的Post 的csrf开启写法、生成验证码、加验证码登录、反向解析+传参

    一.csrf攻击 1.1 csrf攻击(跨站请求伪造) [csrf攻击即]:通过第3方网站,伪造请求(前提条件是你已经登录正常网站,并保存了session或cookie登录信息且没有退出),第三方网站 ...

  6. SciPy 插值

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  7. SciPy 基础功能

    章节 SciPy 介绍 SciPy 安装 SciPy 基础功能 SciPy 特殊函数 SciPy k均值聚类 SciPy 常量 SciPy fftpack(傅里叶变换) SciPy 积分 SciPy ...

  8. 深入了解memcached

    一.memcached如何支持高并发 Memcached使用多路复用 I/O模型(如epoll.select等).传统阻塞 I/O中,系统可能会因为某个用户连接还没做好 I/O准备而一直等待,直到这个 ...

  9. Doxygen 注释语法规范

    背景 这一块的内容更多的是作为了解,但是可以以这样的规范作为自己的编程注释习惯,提高自己的软实力. Doxygen注释语法 注释格式 块注释建议统一使用 /** -- ***/ 行注释建议统一使用 / ...

  10. gitbook简单教程

    简介 GitBook 是一个基于 Node.js 的命令行工具,可使用 Github/Git 和 Markdown 来制作精美的电子书.GitBook支持输出以下几种文档格式 静态站点:GitBook ...