美文网首页
day8学习笔记

day8学习笔记

作者: edwin_hei | 来源:发表于2016-09-19 00:22 被阅读0次

2016年数据库排行榜前十数据库简单介绍:

数据库使用热度排行榜
  1. Oracle是甲骨文公司的,使用需要付费,非开源的
  2. MySQL目前很多公司都在使用,已经被甲骨文收购,之前是开源的,但是现在也有很多功能已经开始封装,非完全开源了
  3. windows上的数据库,早年间很多游戏平台使用的是这个数据库
  4. MongoDB 近年来发展起来的文档类型数据库,增长较快,配合nodeJS使用
  5. PostgreSQL 暂时不知道
  6. DB2...
  7. Cassandra...
  8. Microsoft Acess...
  9. SQLite 小型,轻量型关系型数据库,目前安卓,苹果端机子本地存储使用的是SQLite数据库
  10. Redis 是一种nosql,其他暂时不知道...

MongoDB简介

MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据库存储方案,MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.

MongoDB安装

Linux平台安装MongoDB-->下载地址
选择对应的版本进行下载,在此,我选择的是ubuntu16.04 64位的版本的下载

下载指令:curl -o  https://www.mongodb.com/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.2.9.tgz/
解压指令:tar -zxvf mongodb-linux-x86_64-ubuntu1604-3.2.9.tgz
将解压包拷贝到指定目录:mv mongodb-linux-x86_64-ubuntu1604-3.2.9 指定目录(在此,我拷贝到了/usr/local/mongodb)
Mongodb可执行文件位于bin目录下,所以可以将其添加到path路径中:
export PATH=<mongodb-install-directory>/bin:$PATH
在此我的为:export PATH = /usr/local/mongodb/bin:$PATH
创建数据库目录:
Mongodb数据存储在data目录的db目录下,但是这个目录在安装过程中不会自动创建,所以需要手动创建data目录,并在data目录中创建db目录
注意:/data/db是MongoDB默认的启动数据库路径(--dbpath)
mkdir -p /data/db 如果数据库目录不是/data/db目录,可以通过--dbpath来指定
# 进入mongodb/bin目录下,执行./mongod启动mongodb   ./mongod &这是表示在后台启动(如果不这样启动,那么这个窗口就不能使用了,他会在前台执行...针对ubuntu服务器)
#  MongoDB后台管理Shell
如果需要进入MongoDB后台管理,你需先打开mongodb装目录的下的bin目录,然后执行mongo命令文件.
MongoDB Shell是MongoDB自带的交互式javascript shell,用来对mongodb进行操作
cd /usr/local/mongodb/bin
./mongo
......
MongoDB web用户界面

MongoDB提供了简单的HTTP用户界面,如果你想启用该功能,需要在启动的时候指定参数 --rest.

.mongod --dbpath = /data/db --rest
MongoDB的web界面访问端比服务的端口多1000.如果你的mongodb运行端口使用27017,你可以在端口号为28017访问web用户界面.即http://localhost:28017.

创建数据库

# 创建语法如下:
use DATABASE_NAME   如果数据库不存在,则创建数据库,否则切换到指定数据库
实例:
>use edwin
switched to db edwin
>db
edwin
# 如果想查看所有数据库,可以使用show dbs命令,
刚创建的数据库edwin并不会被show出来,如果要显示,我们需要向edwin插入一些数据

删除数据库

# MongoDB删除数据库的语法格式如下:
db.dropDatabase()
删除当前所使用的数据库,默认情况下test
实例:
删除我们之前创建的数据库edwin
>show dbs   查看当前所有的数据库
....
>use edwin   进入之前创建的数据库 edwin
...
>db.dropDatabase()   删除数据库edwin
...
>show dbs    查看是否已经删除成功
# 删除集合的语法格式如下
db.collection.drop()

MongoDB插入文档

文档的数据结构和json基本一样,所有存储在集合中的数据都是BSON格式
BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON
# 插入文档
MongoDB使用insert()或save()方法向集合中插入文档,语法如下:
db.COLLECTION_NAME.insert(document);
# 实例
以下文档可以存储在MongoDB的edwin数据库的col集合中
>db.col.insert({title:"MongoDB教程",
description:"MongoDB是一个Nosql数据库",
byb:"哈哈",
tags:["MongoDB","database","NoSQL"],
likes:100
})
以上实例中col是我们的集合名,如果该集合不存在该数据库中,mongoDB会自动创建该集合并插入文档,
查看已插入文档:
>db.col.find()
# 第二种插入数据的库方式
我们可以将数据定义为一个变量
> document = ({title:"haha"});
执行后显示该变量的值
然后执行插入操作
>db.col.insert(document)
# 插入文档也可以使用db.col.save(document)命令.
如果不指定_id字段save()方法类似与inset方法,如果指定id字段,
则会更新该_id的数据.

MongoDB更新文档

MongoDB使用update()和save()方法来更新集合中的文档

#update()方法
语法格式:
db.collection.update(
  <query>,
  <update>,
  {
    upset:<boolean>,
    multi:<boolean>,
    writeConcern:<document>
  }
)
参数说明:
query:update的查询条件,类似sql update查询内的where后面的.
update:update的对象和一些更新的操作符(如$,$inc...),也可以理解为sql update查询内的set后面的
upset:可选,这个参数的意思是,如果不存在update的记录,是否插入objNEW,true为插入,默认是false,不插入.
multi:可选,mongoDB默认是false,只更新找到的第一条记录,如果这个参数为ture,就
把按条件查出来的多条记录全部更新.
writeConcern:可选,抛出异常的级别
实例:
db.col.update({''title':'MongoDB教程'},{$set:{'title':'MongoDB'}})
db.col.find().pretty()
注意:find后加pretty(),是说让查找的内容以集合的形式展示,一行一条记录,比较直观
# save方法
save()方法通过传入的文档来替换已有的文档,语法格式如下:
db.collection.save(
  <document>,
  {
    writeConcern:<document> 
  }
)
参数说明:
document:文档数据
writeConcern:可选,抛出异常的级别
实例:
db.col.save({ "_id" : ObjectId("56064f89ade2f21f36b03136"),
 "title" : "MongoDB", 
"description" : "MongoDB 是一个 Nosql 数据库", 
"by" : "Runoob", 
"url" : "http://www.runoob.com", 
"tags" : [ "mongodb", "NoSQL" ],
 "likes" : 110
})
db.col.find().pretty()  进行查询是否更新完成

MongoDB删除文档

MongDB remove()函数式用来移除集合中的数据,MongoDB数据更新可以使用
update()函数,在执行remove函数前先执行find()命令来判断执行的条件是否正确,这是
一个比较好的习惯
语法格式:
db.collection.remove(
  <query>,
  <justOne>
)
参数说明
query:(可选参数)删除的文档的条件
justOne:(可选参数)如果设置为true或1,则只删除一个文档
writeConcern:(可选参数)抛出异常的级别)
>db.col.remove({'title':'MongoDB教程'})
WriteResult({"nRemoved":2})   #删除了两条数据
>db.col.find()  查看是否已经删除成功

MongoDB查询文档

>db.COLLECTION_NAME.find()
find方法以非结构的方式来显示所有文档.
如果你需要以易读的方式来读取数据,可以使用pretty()方法,语法格式如下
>db.COLLECTION_NAME.find().pretty()
除了find()方法之外,还有一个findOne()方法,他只返回一个文档

相关文章

  • 考霸训练营打卡作业-第二阶段day8-20190507

    日期:20190507 打卡用时:40分钟 打卡序号:第二阶段day8 学习内容:《优秀学员事例分享》笔记 打卡正...

  • day8学习笔记

    2016年数据库排行榜前十数据库简单介绍: Oracle是甲骨文公司的,使用需要付费,非开源的 MySQL目前很多...

  • 爱上绘本阅读

    绘本阅读指导师认证班21天心得笔记day8 不知不觉,绘本阅读学习进行一周了。因为本次绘本阅读指导师的学习...

  • Day8主题阅读法

    DAY8 学习课程:《Day8 :巧用主题阅读AI式学习实现知识管理,让你秒变知识引擎》 今日作业:锁定一个月内...

  • 📚读书笔记 财富思维Day8

    ?读书笔记 财富思维Day8 谈谈写作这件事。 早在2015年我就开始学习写作,可总是写不到一个月就放弃了,断断续...

  • 笔记|| 你应该积极主动去敲领导办公室的门

    今天的内容,是个人成长营的Day8学习笔记及作业。分为我学到了什么、个人感触、下一步行动及问题解决四个内容。 一、...

  • 一天一书之《聪明人用方格笔记本》

    #高效阅读实践营#Day8 《聪明人用方格笔记本》 这应该是我运用主题阅读第二本,因为上一本也是关于记笔记的...

  • 晨读 D8 《高效能人士的7个习惯》(补)

    #Day8: 今天是晨读Day8,共读书目为《高效能人士的7个习惯》,开始学习第五个习惯: 知彼解己。 所谓知彼解...

  • MARKDOWN学习笔记

    标题 # MARKDOWN学习笔记 MARKDOWN学习笔记 MARKDOWN学习笔记- MARKDOWN学习笔记...

  • Python自学笔记Day8

    Python自学笔记——Day8 Python运算符 4. 比较运算符 为我们提供比较功能的运算符 最后的结果总是...

网友评论

      本文标题:day8学习笔记

      本文链接:https://www.haomeiwen.com/subject/jejgettx.html