Skip to content

Latest commit

 

History

History
73 lines (55 loc) · 1.76 KB

课时10 连接数据库.md

File metadata and controls

73 lines (55 loc) · 1.76 KB

安装数据库支持

npm install mongoose --save

安装mongodb模块到node_modules下面并把此配置添加到package.json文件中

在工程根目录下创建 settings.js 文件

module.exports = {
    cookieSecret:'zhufengkey', 用于 Cookie 加密与数据库无关
    db:'zhufengblog', 数据库的名称
    host:'123.57.143.189', 数据库的地址
    port:27017,  数据库的端口号
    url:"mongodb://123.57.143.189:27017/zhufengblog"
}

编写数据库交互

创建db文件夹

在db文件夹下创建文件models.js

此文件存放着所有的模型

var mongoose = require('mongoose');
var ObjectId = mongoose.Schema.Types.ObjectId;
module.exports = {
    User:{ 设置User的数据模型 
        username:{type:String,required:true},用户名
        password:{type:String,required:true},密码
        email:{type:String,required:true},邮箱
        avatar:{type:String,required:true}头像
    },
    Article: { 设置文章的数据模型
        user:{type:ObjectId,ref:'User'}, 用户
        title: String, 标题
        content: String, 内容
        createAt:{type: Date, default: Date.now} 创建时间
    }
}

在db文件夹下创建文件index.js

此文件负责向外暴露模型,因为Model赋给了global作为属性,那就意味着在程序任何地方都可以调用了

var mongoose = require('mongoose'),
    Schema = mongoose.Schema,
    models = require('./models');
var settings = require('../settings');    
mongoose.connect(settings.url);
mongoose.model('User', new Schema(models.User));
mongoose.model('Article', new Schema(models.Article));
global.Model = function (type) {
        return mongoose.model(type);;
    }

在app.js中添加

require('./db'); //导入db模块