`
田进丰
  • 浏览: 35410 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

express连接mongodb数据库

 
阅读更多

  mongodb数据库是一个以文件形式存储的非关系型数据库(nosql)。Mongodb 没有关系型数据库中行和表的概念,不过有类似的文档集合的概念。文档是mongodb最基本的单位。集合是多个文档的总和,一个集合有多个文档,一个数据库有多个集合。

连接数据库之前要先安装数据库:以下是linux(64位)平台安装数据库:

首先去官网下载适合你电脑的mongodb版本::http://www.mongodb.org/downloads

下载安装包后解压,将安装包解压到指定路径。然后把名字改成mongodb。

我的解压到/usr/local/目录下。

设置环境变量:

mongodb的可执行文件在bin目录下,可以把它设置到path路径中:

 

export PATH=</usr/local/mongodb>/bin:$PATH

 

你可以在终端输入命令:./mongo 来查看你是否已装上mongodb。

 

第二步:在mongodb中新建一个文件夹blog(你的工程名字)和在/var/log/下创建文件夹mongodb存放log,然后进入bin目录下再终端输入命令:

 

./mongod --dbpath=/usr/local/mongodb/blog/ --port=27017 --fork --logpath=/var/log/mongodb/mongodb.log 

 命令:blog文件夹为我们工作的存储目录并启动数据库。

 

连接数据库:

打开package.json文件,在dependencies 最后一行添加:

"mongodb": "1.4.15"

然后在工程目录下运行:npm install 更新依赖模块。

mongodb模块安装好后,在工程目录下新建settings.js 文件,并在里面添加:

 

module.exports = { 
  cookieSecret: 'myblog', 
  db: 'blog', 
  host: 'localhost',
  port: 27017
}; 

 然后在新建一个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-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
  })
}));

 注意:这里提醒一下,这两段代码的位置问题。上面两个变量放在文件中变量的位置。下面一段应放置在:

app.use(express.static(path.join(__dirname, 'public')));

 这段代码的上面。

 

分享到:
评论

相关推荐

    Node学生管理系统(Express+MongoDB)

    本项目是一套基于Node.js的全面的学生管理系统,利用了Express框架和MongoDB数据库来实现对学生信息的增、删、改、查操作。这是一个典型的Web应用开发实例,适合初学者学习和理解Node.js在实际项目中的应用。 **一...

    Node.js-一个前后端分离的案例前端vuejs后端express数据库mongodb

    在Vue.js中,可以使用axios库发起HTTP请求,实现对Express API的调用,从而完成对MongoDB数据库的CRUD操作。 项目结构可能如下: - `vue-express-mongodb-master` 文件夹包含了整个项目,分为前端和后端两部分。 - ...

    Node.js+Express+MongoDB实现简单登录注册功能

    在项目中创建一个名为`db.js`的文件,用于连接MongoDB数据库。例如: ```javascript const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/login_db', { useNewUrlParser: true, ...

    nodejs对mongodb数据库的增加修删该查实例代码

    在本文中,我们将深入探讨如何使用Node.js与MongoDB数据库进行基本操作,包括增、删、改、查。首先,确保已经安装了`mongodb`包,可以通过`npm install mongodb --save-dev`或`cnpm install mongodb --save-dev`命令...

    NodeJS+Express+MongoDB简单博客系统

    这个项目是一个基于Node.js、Express.js框架和MongoDB数据库构建的简单博客系统。它为初学者提供了一个很好的平台,以了解和实践Web开发中的服务器端编程、路由处理以及数据库操作。 **Node.js** Node.js是一个开放...

    express + MongoDB实现学生管理系统(mongoose).zip

    3. **Mongoose**: Mongoose是Node.js中连接MongoDB的库,它提供了强大的数据模型和类型安全,使得与MongoDB交互变得更加简单。在本项目中,Mongoose被用来定义学生信息的数据模型,通过模式(Schema)和模型(Model...

    毕业设计——基于Express + Mongodb的报修系统设计与实现 .zip

    这是一个关于使用Express.js框架和MongoDB数据库开发报修系统的毕业设计项目。Express是Node.js平台上的一个高级Web应用框架,而MongoDB则是一种流行的NoSQL数据库,特别适合处理非结构化或半结构化的数据。这个设计...

    node-express-mongodb-example:使用连接到MongoDB数据库的Express框架构建的示例Node.js应用程序

    使用连接到MongoDB数据库的Express框架构建的示例Node.js应用程序。 ####将升级后的应用程序从Express 3更新到Express 4 ##设置 下载并安装Eclipse 下载并安装Git 打开Eclipse并创建一个工作区 单击“帮助”-...

    Express +MongoDB 简易后台登录系统.zip

    在本项目"Express +MongoDB 简易后台登录系统.zip"中,我们将会探讨如何使用Express框架和MongoDB数据库构建一个简单的Web后台登录系统。这个系统是针对毕业设计或Web开发实践的需求而设计的,它涉及到Node.js的后端...

    express使用Mongoose连接MongoDB操作示例【附源码下载】

    本文实例讲述了express使用Mongoose连接MongoDB操作。分享给大家供大家参考,具体如下: 为何要学Mongoose? Mongoose是MongoDB的一个对象模型工具,...3、使用mongoose连接mongoDB数据库 var express = require('ex

    使用node,express,mongoDB制作服务器.zip

    在本项目中,“使用node,express,mongoDB制作服务器.zip”是一个包含了一个使用Node.js、Express框架和MongoDB数据库构建的服务器端应用的压缩包。这个压缩包名为“graduation-project-master”,暗示它可能是一个...

    Express + MongoDB 后台系统.zip

    在 Express 应用中,可以使用官方提供的 MongoDB 驱动 Mongoose 来连接和操作数据库,实现数据的增删查改。 在文件列表中只有一个名为 "demo_01" 的文件,这可能是项目的一个初步示例或者初始代码结构。这个文件...

    node.js连接mongoDB数据库 快速搭建自己的web服务

    本文介绍了Node.js连接MongoDB数据库的基本概念、安装步骤、使用Express框架快速搭建Web服务的方法,以及MongoDB的安装和配置。通过掌握这些知识点,开发者可以利用Node.js和MongoDB高效搭建Web服务,为成为全栈...

    school management system(ndoejs+express+mongodb)

    本项目“school management system”采用现代Web开发技术,结合Node.js、Express框架以及MongoDB数据库,旨在为初学者提供一个实践和学习的平台,帮助他们掌握后端开发的基础知识。 首先,Node.js是JavaScript运行...

    学生信息管理系统Node+express+mongodb.zip

    本项目"学生信息管理系统Node+express+mongodb.zip"是一个采用Node.js、Express框架和MongoDB数据库的示例应用,旨在帮助学生或初学者了解如何利用这些技术构建一个高效、可扩展的信息管理系统。 首先,Node.js是...

    Express+MongoDb 商品管理系统2

    本项目是一个基于Express框架和MongoDb数据库的商品管理系统,旨在帮助开发者巩固已学的Web开发知识,同时学习新的技能,如数据库操作的封装和图片上传功能。以下是该项目的主要知识点: ### 1. 综合练习 这个项目...

    [单片机毕设]基于Express + Mongodb的报修系统设计与实现.zip

    在本项目中,Express可能被用来处理HTTP请求,如POST(提交报修请求)和GET(获取维修状态),并连接到MongoDB数据库进行数据操作。 接着是MongoDB,这是一个非关系型数据库,适合处理大量结构化和半结构化的数据。...

    express+mongodb笔记

    - **连接MongoDB**:使用Mongoose,通过`mongoose.connect()`建立数据库连接。 - **数据操作示例**:创建用户模型,定义属性和方法,然后在路由中进行增删改查操作。 5. **CNode技术社区与博客园资源** - **...

    基于Express+MongoDB的保修系统源码.zip

    3. **Mongoose库**:在Node.js中,Mongoose是连接MongoDB数据库的流行库,提供了模型(Model)和Schema(模式)的概念,便于数据操作和验证。 4. **路由处理**:Express中的路由处理函数定义了HTTP请求与应用程序...

Global site tag (gtag.js) - Google Analytics