nodejs/express+mongodb/mongoose

本文详细介绍了如何使用Node.js、Express、MongoDB和Mongoose等技术栈搭建Web应用,包括安装Node.js与Express,创建Express项目,安装MongoDB数据库,使用Mongoose连接数据库,以及运行应用的基本步骤。

Step 1 install nodejs

1.1 install nvm

使用 nvm(Node Version Manage) 来安裝 node.js,
sudo apt-get install git-core g++ curl

git clone git://github.com/creationix/nvm.git ~/.nvm
echo ". ~/.nvm/nvm.sh" >> ~/.bashrc

重新开启 terminal 或是在当前terminal 输入:source ~/.bashrc或. ~/.bashrc 重新加载bashrc的设定到目前bash环境中。

1.2 install nodejs
nvm install v0.10.26
nvm alias default v0.10.26
node -v 

PS:node.js 在 0.6.3 之后开始內建 npm (Node Package Management),
可用 npm -v 作确认。

Step 2 install express
Express是目前最流行的基于Node.js的Web开发框架, 使用它可以快速地搭建网站原型,它是一个node.js模块,采用npm全局模块进行安装。
安装命令如下:
npm install -g express

安装完成后,在工作目录新建一个新项目,假定叫 helloword。
express helloword

此时,会在工作目录下生成一个helloword 子目录,如下:
blwang@blwang-desktop:~/workspace/nodejs_workspace$ express helloword


   create : helloword
   create : helloword/package.json
   create : helloword/app.js
   create : helloword/public
   create : helloword/public/javascripts
   create : helloword/public/images
   create : helloword/public/stylesheets
   create : helloword/public/stylesheets/style.css
   create : helloword/routes
   create : helloword/routes/index.js
   create : helloword/routes/user.js
   create : helloword/views
   create : helloword/views/layout.jade
   create : helloword/views/index.jade

   install dependencies:
     $ cd helloword && npm install


   run the app:
     $ node app


根据提示,安装dependencies, 然后运行node app,就可以在本地的3000端口看到生成的默认网站框架。

访问地址:http://127.0.0.1:3000

Step 3 Install MongoDB安装参照http://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/ 

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-10gen


mongodb 数据库操作链接如下:http://docs.mongodb.org/manual/core/crud-introduction/

Step4 Install Mongoose

多种中间件可以用于连接node.js与MongoDB,目前比较常用的Mongoose。
首先,在之前利用express新建的helloworld项目目录安装Mongoose,命令如下:


npm install mongoose --save

然后,就可以在node.js脚本中连接MongoDB数据库了。
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/<数据库名>');

注意,运行上面这个脚本时,必须确保MongoDB处于运行中。

Node.js是一个基于Chrome V8 JavaScript引擎的JavaScript运行环境,可用于服务器端编程。Express是一个基于Node.js平台的Web应用开发框架,提供了简单易用的API,可以快速构建Web应用程序。Mongoose是一个优秀的Node.js模块,用于连接MongoDB数据库,并提供了丰富的API来操作MongoDB数据库。 下面是使用Node.js、ExpressMongoose操作MongoDB的基本流程: 1. 安装Node.js、ExpressMongoose 在终端中执行以下命令: ``` npm install node npm install express npm install mongoose ``` 2. 连接MongoDB数据库 在app.js或server.js文件中,使用Mongoose连接MongoDB数据库: ``` var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); ``` 3. 定义数据模型 在models目录下创建一个JavaScript文件,使用Mongoose定义数据模型: ``` var mongoose = require('mongoose'); var Schema = mongoose.Schema; var UserSchema = new Schema({ name: String, age: Number, email: String }); module.exports = mongoose.model('User', UserSchema); ``` 4. 实现API接口 在routes目录下创建一个JavaScript文件,实现API接口: ``` var express = require('express'); var router = express.Router(); var User = require('../models/user'); router.get('/users', function(req, res, next) { User.find(function(err, users) { if (err) return next(err); res.json(users); }); }); router.post('/users', function(req, res, next) { var user = new User(req.body); user.save(function(err) { if (err) return next(err); res.json(user); }); }); router.get('/users/:id', function(req, res, next) { User.findById(req.params.id, function(err, user) { if (err) return next(err); res.json(user); }); }); router.put('/users/:id', function(req, res, next) { User.findByIdAndUpdate(req.params.id, req.body, function(err, user) { if (err) return next(err); res.json(user); }); }); router.delete('/users/:id', function(req, res, next) { User.findByIdAndRemove(req.params.id, function(err, user) { if (err) return next(err); res.json(user); }); }); module.exports = router; ``` 5. 启动Express应用 在app.js或server.js文件中启动Express应用: ``` var express = require('express'); var app = express(); var bodyParser = require('body-parser'); var userRoute = require('./routes/user'); app.use(bodyParser.json()); app.use('/api', userRoute); app.listen(3000, function() { console.log('Server listening on port 3000'); }); ``` 6. 测试API接口 通过Postman等工具测试API接口。例如: - GET http://localhost:3000/api/users - POST http://localhost:3000/api/users - GET http://localhost:3000/api/users/5f3e7003c3e1c12345678901 - PUT http://localhost:3000/api/users/5f3e7003c3e1c12345678901 - DELETE http://localhost:3000/api/users/5f3e7003c3e1c12345678901 这样就完成了使用Node.js、ExpressMongoose操作MongoDB的基本流程。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值