两天的成果---node,express,mongodb,以及mongoose 对github搭建自己博客的项目进行分析

github地址:https://github.com/linguowei/myblog

把项目git clone下来;

分析:

# git clone https://github.com/linguowei/myblog.git
# cd myblog
# npm install
# npm run build
# cd admin
# npm run build
#. cd ../
# node app.js
# localhost:7000
# localhost:7000/admin

运行代码;

这里分别安装依赖包,以及打包生成 后台项目以及前台项目

# node app 实现运行服务

app.js

其中与数据相连起来的是:

app.use(router)

数据库连接+建立各种表;db.js

分别建立:账号表;

文章表;

标签表;

个人信息表;

var mongoose = require(‘mongoose‘)
mongoose.Promise = require(‘bluebird‘)

// mongoose.connect(‘mongodb://wei1:[email protected]:61018/weiwei‘)
mongoose.connect(‘mongodb://localhost:27017/weiweiblog‘)

var userSchema = new mongoose.Schema({
    name: String,
    pwd: String,
})

var articleSchema = new mongoose.Schema({
    title: String,
    date: Date,
    articleContent: String,
    state: String,
    label: String,
})

var tagSchema = new mongoose.Schema({
    tagName: String,
    tagNumber: Number,
})

var personalInformationSchema = new mongoose.Schema({
    name: String,
    individualitySignature: String,
    introduce: String,
})

var Models = {
    User: mongoose.model(‘User‘, userSchema),
    Article: mongoose.model(‘Article‘, articleSchema),
    TagList: mongoose.model(‘TagList‘, tagSchema),
    PersonalInformation: mongoose.model(‘PersonalInformation‘, personalInformationSchema),
}

module.exports = Models

在 localhost:7000/admin  中分别创建文章,标签,博客描述;

实际后台的操作:

启动数据调试

cd / usr/local/mongodb/bin

sudo ./mongo

查看articles的文章

查看标签

vue到node,moogooes ,mongodb的请求过程

这里我拿保存标签来

前端发送请求的代码:

网页具体发生请求;

node+mongoose对数据的处理和操作;

后台对数据的处理;

// 文章标签保存路由
router.post(‘/api/saveArticleLabel‘, function(req, res){
    db.TagList.find({}, function(err, docs){
        if(err)return;
        var isExist = false;
        //对数据进行遍历;
        docs.forEach(function(item){
            if(item.tagName == req.body.tagList.tagName){
                isExist = true;
            }
        })
       //存在的话不进行处理,并返回错误
        if (isExist){
            res.json({error: true, msg: ‘标签已存在‘})
        }else{
            //存到数据库
            new db.TagList(req.body.tagList).save(function(error){
                if (error) {
                    res.send(‘保存失败‘);
                    return
                }
                res.send()
            })
            res.json({success: true, msg: ‘保存成功‘})
} }) });

具体的使用流程就是这样的,实际更多的api的使用请自行查看mongoose/express的文档进行使用;

原文地址:https://www.cnblogs.com/heyinwangchuan/p/8595470.html

时间: 2024-10-05 03:32:17

两天的成果---node,express,mongodb,以及mongoose 对github搭建自己博客的项目进行分析的相关文章

DigitalOcean上使用Tornado+MongoDB+Nginx+Supervisor+DnsPod快速搭建个人博客

DigitalOcean 之前买了个便宜的VPS并且在上面搭建了我自己写的博客程序,后来VPS里运行MongoDB经常自己挂掉就索性没理了.直到现在VPS已经过期,服务器被强制关掉了.周末在家索性想着把这个博客程序重新搭建起来. 选择Linode还是云主机(阿里云等等)?阿里云貌似有些贵,而且还有一堆备案的流程.Linode最近推出SSD服务,20刀/月的价格,加量不加价,很是吸引人.但无奈还是花的有些心疼.忽然另外一个VPS服务DigitalOcean(链接含refcode喔)被我无意发现.D

使用Node.js+Hexo+Github搭建个人博客(续)

一.写在前面 在我的上一篇博客<使用Nodejs+Hexo+Github搭建个人博客>中,已经介绍了如何使用 Hexo 在 Github Pages 上搭建一个简单的个人博客.该篇博文将在上篇博文的基础上分别从以下几个方面做简单的后续介绍: 博客相关配置介绍 博客主题 Yilia 配置介绍 如何制作并配置网站缩略图 如何将博客同步到 Github.Coding 中 如何使用 Git 同步 Github 与 Coding 的代码 如何申请域名并作域名解析 如何将域名绑定至 Github.Codi

用node.js 搭建的博客程序心得(node.js实战读书笔记1)

学习node已经有一段时间了,之前把了不起的node.js看完了,基本算了解了一些node的基本的用法还有一些概念了,然后就开始看第二本node.js实战,第一章就是搭建一个博客程序.但是不得不吐槽一下node,发展得太块了,很多库已经和之前的用法不一样了,就要一直去百度google来查询最新的用法,其实我觉得这样并不见得是一件好事,因为不稳定,所以就不好学习,就要一直保持对于node的关注.不废话了,这篇文章就大概说一些在这章里面所学习到的一些东西,经验总结吧 1.express - 基于 N

使用node+express+mongodb实现用户注册、登录和验证功能

无论是手机端还是pc端,几乎都包含登录注册方面功能,今天就使用node+express+mongodb实现一套登录注册功能,这里需要自己去安装MongoDB环境,如果没有安装可以看这篇关于MongoDB安装的步https://www.cnblogs.com/zhoulifeng/p/9429597.html 实现功能 注册 密码加密 登录 校验 token处理 1.环境搭建运行 在目录里安装express和mongoose,并在根目录创建server.js文件和models文件, 在server

node+express+mongodb初体验

从去年11月份到现在,一直想去学习nodejs,在这段时间体验了gulp.grunt.yeomen,fis,但是对于nodejs深入的去学习,去开发项目总是断断续续. 今天花了一天的时间,去了解整理整个学习思路,以下是我的学习分享,是入门级学习体验适合node+mongodb开发小白,node已玩过很久的大神这篇文章可能不适合. 开篇来个例子: 客户端表单页面: <!DOCTYPE HTML> <html lang="en-US"> <head> &

基于Hexo+Node.js+github+coding搭建个人博客——基础篇

附上个人教程:http://www.ookamiantd.top/2017/build-blog-hexo-base/ 搭建此博客的动机以及好处在此就不多谈了,之前已经表达过,详情请看Start My Blog Trip - Power By Hexo 记录一下搭建的基本过程以及遇到的一些问题,仅供参考 = =废话不多说,进入主题 Hexo博客搭建的基础大致流程为: 安装Node.js →安装Git → 安装Hexo → 安装主题 → 本地测试运行 → 注册给github与coding并创建pa

用Node.JS+MongoDB搭建个人博客(万众期待的router.js)(四)

万众期待的router.js,是我现在最想写的一个博客.因为他包含了整个个人博客的精髓.在这里,所有的请求配置,返回的参数等等所做的业务逻辑都在这个文件里实现. 我会详细说明这些代码的作用,所以这篇博客会有点长,但看完之后受益肯定也不少! 第一部分:引用文件 formidable是一个很出名的NPM包.它在node里作为表单内容接收做处理的一个中间件,功能很强大. db.js是我在网上仿写的一个对数据库的统一操作的函数库. md5是用于数据加密的文件(现在反对用md5加密,因为可以被破解)推荐用

用Node.JS+MongoDB搭建个人博客(安装环境)(一)

Node.JS是什么? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Node.js是由C++开发的,其实是一个JS运行环境,可以让JavaScript运行在服务器上. 安装环境 安装Node.JS和NPM 首先进入NodeJS官网选择自己对应的系统下载最新版,我现在用的是window64位系统,所以选择了window64位版的msi文件.下载完成后安装 安装成功后检查是否

用Node.JS+MongoDB搭建个人博客(model目录)(三)

model目录主要是封装一些经常使用的方法,便于使用. setting.js文件: 很简单,就单单封装了一个url作为公用,以后改就方便改了. md5.js(不推荐用): db.js文件: db.js文件主要是封装一些对数据库的连接操作,要不然都写在router.js上会造成非常大的代码冗余而且代码都一样. 对数据库操作,第一步当然是连接数据库: __connectDB作为一个内部函数,方便被引用. 然后用MongoClient.connect所提供的方法连接数据库,connect接收两个参数(