数据库虽然安装并启动成功了,但我们需要连接数据库后才能使用数据库。
怎么才能在 Node.js 中使用 MongoDB 呢?
我们使用官方提供的 node-mongodb-native 驱动模块,打开 package.json,
在 dependencies 中添加一行:"mongodb": "1.4.15"
接下来在我的yourapp目录中创建 settings.js 文件,用于保存该博客工程的配置信息,比如数据库的连接信息。
我们将数据库命名为 blog,因为数据库服务器在本地,所以 settings.js 文件的内容如下:
module.exports = {
cookieSecret: 'myblog',
db: 'blog',
host: 'localhost',
port: 27017
};
其中 db 是数据库的名称,host 是数据库的地址,port是数据库的端口号,cookieSecret 用于 Cookie 加密与数据库无关;
接下来在根目录下新建 models 文件夹,并在 models 文件夹下新建 db.js:
添加:
var settings = require('../settings'),
Db = require('mongodb').Db,
Connection = require('mongodb').Connection,
Server = require('mongodb').Server;
module.exports = new Db(settings.db, new Server(settings.host, settings.port),
{safe: true});
打开 app.js,在 var routes = require('./routes/index'); 下添加
var settings = require('./settings');
express 也提供了会话中间件,默认情况下是把用户信息存储在内存中,
但我们既然已经有了 MongoDB,不妨把会话信息存储在数据库中,便于持久维护。
为了使用这一功能,我们需要借助 express-session 和 connect-mongo 这两个第三方中间件,
在 package.json 中添加:
"express-session": "1.9.1",
"connect-mongo": "0.4.1"
运行npm install安装模块,打开app.js,添加以下代码
var session = require('express-session');
var MongoStore = require('connect-mongo')(session);

app.use(session({
secret: settings.cookieSecret,
key: settings.db,//cookie name
cookie: {maxAge: 1000 * 60 * 60 * 24 * 30},//30 days
store: new MongoStore({
db: settings.db,
host: settings.host,
port: settings.port
})
}));
我们已经准备好了数据库访问和会话的相关信息,接下来我们完成用户注册和登录功能

转载于:https://www.cnblogs.com/smart-girl/p/7412487.html

跟我一起用node-express搭建一个小项目(node连接mongodb)[三]相关推荐

  1. 使用express+webpack搭建一个小项目

    本项目想实现一个小网站, css方面:带reset.css,能使用sass语法: js方面:能使用es6语法: 模板方面:有可继承的模板,公用部分可提取公用的模板: 项目实现热启动: 实现思路: 使用 ...

  2. mysql第五章项目二_Todo List:Node+Express 搭建服务端毗邻Mysql – 第五章(第1节)

    点击右上方红色按钮关注"web秀",让你真正秀起来 前言 万丈高楼平地起,我们的Todo List项目也是越来越结实了.Todo List的前面4章内容都是在为Client端开发, ...

  3. node+express 搭建商城项目(2-建立 Mysql链接 完成注册账号接口)

    node+express 搭建商城项目(2-操作Mysql完成注册账号接口) 今天我们 用 express 和 mysql 插件完成 mysql数据库的操作 下面开始安装数据库 插件 npm inst ...

  4. node+express 搭建商城项目(1-项目搭建)

    node+express 搭建商城项目(1-项目搭建) 1:下载node 博主已安装了node 版本:v14.14.1node官网:可选择跟博主同版本 2:安装 express 一般选择全局安装: n ...

  5. node修改服务器默认端口,用node+express搭建服务器,解决跨域问题,更改端口号...

    在学习前端的过程中,最开始我们需要展示在页面上的数据都是写死在系统里的假数据.然而,实际上前端是要与后台服务器交互进行数据存取的.如何搭建服务器见下文. 一.使用Node.js+express用命令行 ...

  6. Node.js搭建一个简单的服务器

    文章目录 Node.js的安装 了解Node.js模块系统 服务器的搭建 一.创建一个Web服务器 注意 程序代码 运行 二.静态资源托管 静态资源 注意 程序代码 运行 三.简单接口的实现(简单服务 ...

  7. 从零开始搭建一个vue项目 -- vue-cli/cooking-cli(一)

    从零开始搭建一个vue项目 -- vue-cli/cooking-cli(一) 1.vue-cli搭建一个可靠成熟的项目 1.介绍 vue-cli 我是去年六月份接触的vue1.0,当时还是个菜逼,当 ...

  8. MacOS 搭建一个vue项目(完整步骤)

    搭建一个Vue项目 一.安装node环境 二.搭建vue项目环境 1.全局安装vue-cli 2.检查是否安装成功 3.创建一个基于 webpack 模板的新项目 4.安装依赖 5.启动项目 三.vu ...

  9. React-从0到1搭建一个React项目(一)

    文章目录 架构介绍 第三方组件库 项目准备 环境准备 使用create-react-app初始化项目 创建项目目录结构 安装第三方库 利用工作之余的时间学习了react,今年一回来,部门要在公众号上面 ...

最新文章

  1. HDLBits 系列(18) BCD码计数器的设计
  2. 万字长文,带你彻底理解EF Core5的运行机制,让你成为团队中的EF Core专家
  3. 23种设计模式(3):抽象工厂模式
  4. EasyRecovery如何恢复游戏——英雄联盟
  5. 【小白学前端】化腐朽为神奇-Bootstrap实现表单美化(day02-6)
  6. linux安装pycuda报错 517
  7. 理解 Serenity,Part-1:深度抽象
  8. sb 讲解 (!(~+[])+{})[--[~+][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]]
  9. Java 优惠券最优使用实现
  10. 计算机开机选择用户界面,win7系统每次开机都会出现选择操作系统界面的设置办法...
  11. 计算机系 礼物,湖大19个学院毕业礼物聚齐了,全都是用心爱你的模样!
  12. 低代码不是行业毒瘤,你才是!
  13. 【UG NX MCD 机电一体化概念设计】UG NX MCD+PLCSIM Advanced联合仿真实例(三) 联合调试
  14. 华为校招2016.09机试 第2题: 字符串查找
  15. ApkTool(Apk反编译工具)电脑版
  16. SIMCOM7600CE TCP通信
  17. 掌握14种UML图,清晰图示
  18. 用windows自带功能轻松建立自己的FTP网站
  19. Qtum量子链x2018国际区块链大会:区块链技术如何真正落地?
  20. 【路径规划】基于matlab汽车零部件循环取货路径优化(三维装载约束)【含Matlab源码 1100期】

热门文章

  1. ConfigUtil读取配置文件
  2. 鸟哥linux私房菜第6章笔记
  3. 用ajax控件作的高级搜索
  4. Angular 一个简单的指令实现 阻止事件扩散
  5. 《企业自主搞定ERP》试读:第一章-Odoo概述
  6. Salesforce - soql 多字段多值过滤查询思路
  7. 初始html(常用标签)
  8. JAVA记录-Servlet RequestDispatcher请求转发
  9. MessageBox只弹出一次
  10. 用java调用oracle存储过程总结二