Mac环境下,新建Express+Mongo项目并运行

MongoDb安装与配置环境变量

官网下载地址:https://www.mongodb.com/download-center#community

接下来我们使用 curl 命令来下载安装:

# 进入 /usr/local
cd /usr/local

# 下载
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.4.2.tgz

# 解压
sudo tar -zxvf mongodb-osx-x86_64-3.4.2.tgz

# 重命名为 mongodb 目录

sudo mv mongodb-osx-x86_64-3.4.2 mongodb

安装完成后,我们可以把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中:

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

运行 MongoDB

1、首先我们创建一个数据库存储目录 /data/db:

sudo mkdir -p /data/db

启动 mongodb,默认数据库目录即为 /data/db:

sudo mongod

# 如果没有创建全局路径 PATH,需要进入以下目录
cd /usr/local/mongodb/bin
sudo ./mongod

再打开一个终端进入执行以下命令:

$ cd /usr/local/mongodb/bin 
$ ./mongo
MongoDB shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.2
Welcome to the MongoDB shell.
……
> 1 + 1
2
> 

注意:如果你的数据库目录不是/data/db,可以通过 --dbpath 来指定。

Node.js下载安装

官网下载地址: https://nodejs.org/zh-cn/
终端命令行输入 node -v 显示版本号即安装成功。

Express安装

$ npm install express-generator -g

新建项目并运行

$ express myapp
$ cd myapp
$ npm install
$ npm install mongoose --save   //安装mongoose
$ cd bin
$ node www  //执行
打开浏览器并访问 http://localhost:3000,显示

    Express

        Welcome to Express

项目运行成功。
继续项目进行数据库操作
一、连接MongoDB
在项目根目录下新建/lib/mongo.js
var mongoose = require("mongoose");
var db = mongoose.connect('mongodb://localhost:27017/myblog');
module.exports = db
要连接的数据库为myblog
二、新建一个用户Schema

在项目根目录下新建/models/users.js
var mongoose = require("mongoose");
var db = require('../lib/mongo');

var Schema = mongoose.Schema ;
//一个用户模型
var UserSchema = new Schema({
username    : { type:String },
password    : {type: String},
avatar      : {type: String},
age         : { type:Number, default:0 },
description : { type: String},
email       : { type: String },
github      : { type: String },
time        : { type:Date, default:Date.now }
});
//创建Model
var UserModel = db.model("user", UserSchema, "users" );//第一个参数为默认查找的数据库表名,第三个参数为制定的表名,不传查找默认
module.exports = UserModel

三、创建使用UserModel执行数据库增删改查操作的api

在项目根目录下新建/api/user_api.js
var UserModel = require("../models/users");
module.exports.user_list_get = function (req, res) {
    UserModel.find({}, function (err, users) {
        if (err) {
            return res.send({status:0, msg:err || "获取失败"})
        } else {
            return res.send({status:1, msg:"获取成功", data:users})
        }
    }).limit(20)
}

四、创建路由并定义接口地址规则

在项目routes目录下新建/user_router.js
var express = require('express');
var router = express.Router();
var User = require('../api/user_api');
router.get('/list', User.user_list_get);//get请求
module.exports = router;

五、在app.js文件中use一下路由,使路由生效

var userRouter = require('../routes/user_router');

在var app = express();下面调用app.use('/user', userRouter);

接口地址http://localhost:3000/user/list, user在app.js中定义,list在user_router.js中定义

注意查询之前需要往数据库中添加数据!!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值