nodejs+express+mongodb添加功能

一、链接数据库

1、输入Ctrl+C终止项目服务器运行   

安装mongoose  输入命令  npm install mongoose -S

安装后重新启动项目 npm start

2、在app.js中输入以下代码  链接数据库

var mongoose = require("mongoose");

var url = "mongodb://127.0.0.1:27017/jianshu"; // 本地数据库地址

mongoose.connect(url,{useNewUrlParser: true, useUnifiedTopology: true},(err,db)=>{

    if(err)

        console.log("连接数据库失败"+err)

    else

        console.log("连接数据库成功")

})

二、创建跟数据库关联的模型层

1、在项目目录下  jianshu   新建model/WenZhangModel.js文件

2、输入代码

const mongoose = require('mongoose')

const schema = mongoose.Schema({

    title: String,    // 文章标题

content: String,     // 文章内容

    star:Number,   // 点赞量

    browser:Number   // 浏览量

}, {collection: 'wenzhang'})

//导出对象 object  开放给路由使用

const object = module.exports = mongoose.model('wenzhang', schema)

三、创建路由

1、在项目jianshu下新建路由文件  routes/wenzhang.js

2、输入路由代码

var express = require('express')

var router = express.Router()

//引用模型层中的 文章的对象

let model = require('./../model/WenZhangModel')

router.get('/', (req, res)=>{

    // 查询数据库中 所有文章  并显示在wenzhang.hbs页面上

    model.find( (err, listresult) => {            

        res.render('wenzhang',{ list:listresult})

    })

})

// 添加文章路由

router.get('/add', (req, res)=>{

    // 1、根据模型层的样式创建一个文章对象   文章对象的内容是 html页面传递过来的

    let object = new model(req.query)

    // 2、对象保存在数据库中

    object.save((err, result)=>{

        if(err)throw err

        console.log("添加成功")

        // 3、查询数据库中 所有文章  并显示在wenzhang.hbs页面上

        model.find( (err, listresult) => {            

            res.render('wenzhang',{ list:listresult})

        })

    })

});

module.exports = router

3、在spp.js中关联 wenzhang.js 路由

var wenzhangRouter = require('./routes/wenzhang');

app.use('/', wenzhangRouter);

四、创建界面

1、在views文件夹中 新建 wenzhang.hbs

<ul>

    {{#each list}}

    <li>

        <h3>{{this.title}}</h3>

        <p>{{this.content}}</p>

        <div>

            点赞量:<span>{{this.star}}</span>

            浏览量:<span>{{this.browser}}</span>

        </div>

    </li>

    {{/each}}

</ul>

2、添加文章代码

<h3>发表文章功能</h3>

<form action="/add" method="get">

    <input type="text" name="title"/> <br/>

    <textarea name="content" cols="30" rows="10"></textarea> <br/>

    <input type="submit" value="发表">

</form>


五、访问网站  http://127.0.0.1:3000/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容