手把手教你开发nodejs微博网站-连接数据库

in 编程
关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9

连接数据库

引子

博客肯定是以用户为中心,包括用户的注册,用户的登录,用户发表留言,对留言进行评价等等功能,所以,自然离不开数据库。

MongoDB

MongoDB简介
  1. MongoDB是一个开源的NoSql数据库,相比mysql那样的关系型数据库,它更为轻巧,灵活,非常适合在数据规模很大,事务性不强的场合下使用

  2. MongoDB将数据存储为一个文档,数据结构由键值对(key=>value)组成。字段值可以包含其他文档,数组及文档数组

  3. 相对于mysql这类需要把对象属性转换成SQL语句才能保存下来 ,MongoDB这些可以直接保存JS对象成数据库的文档,来看一个MongoDB文档的示例:

    {
        "_id" : ObjectId( "4f7fe8432b4a1077a7c551e8" ),
        name : 'phping',
        age : 28,
        hobby : ['movies','music','nba']
    }

可以看到数据格式为json,因此与javascript的亲和性很强,我们的项目也是使用MongoDB。

MongoD概念解析

mongodb中基本的概念是文档、集合、数据库。下表将帮助您更容易理解Mongo中的一些概念:

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据库记录集合/文档
column field 数据字段/域
index index 索引
table joins 表连接,mongodb不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

通过下图实例我们也能更好的了解Mongo中的一些概念:
图片描述

MongoDB安装

大家可以针对自己的系统,参考下面的链接向导来进行安装,步骤都是非常的详细。这里不再赘述。

Robomongo

我使用的MongoDB 可视化管理工具是Robomongo,当然还有其它的可以使用,如:MongoChef等。

点击这里下载

图片描述

其中左下角的按钮可以用来验证我们写入的数据格式,数据格式无误后点击右下角的保存按钮即可。

使用Mongolass连接数据库

好了,MongoDB安装成功了,我们来使用Mongolass连接数据库。

安装Mongolass
$ npm install mongoose
连接MongoDB

首先,我们需要定义一个连接。如果您的应用程序只使用一个数据库,您应该使用mongoose.connect
如果您需要创建额外的连接,使用mongoose.createConnection

这两种方式连接都需要mongodb:// URI,或者主机名字,数据库名字,端口号,配置项等。

var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/my_database');
定义一个模型
var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/my_database');

var Cat = mongoose.model('Cat', { name: String });
访问一个模型
var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/my_database');

var Cat = mongoose.model('Cat', { name: String });

var kitty = new Cat({ name: 'Zildjian' });
kitty.save(function (err) {
  if (err) {
    console.log(err);
  } else {
    console.log('meow');
  }
});

更多使用可以查看官网文档.

总结

本篇主要讲解了我在开发本项目时使用的什么数据库,怎么连接数据库,下节干货就来了:用户注册功能开发,敬请期待!
工程代码可从github上下载:https://github.com/phping1/no...

想查看更多文章,请点击我的博客

关注公众号【好便宜】( ID:haopianyi222 ),领红包啦~
阿里云,国内最大的云服务商,注册就送数千元优惠券:https://t.cn/AiQe5A0g
腾讯云,良心云,价格优惠: https://t.cn/AieHwwKl
搬瓦工,CN2 GIA 优质线路,搭梯子、海外建站推荐: https://t.cn/AieHwfX9
扫一扫关注公众号添加购物返利助手,领红包
Comments are closed.

推荐使用阿里云服务器

超多优惠券

服务器最低一折,一年不到100!

朕已阅去看看