NoSQL Mongodb

  • 下载mongodb的版本,两点注意
  • 根据业界规则,偶数为稳定版,如1.6.X,奇数为开发版,如1.7.X
  • 32bit的mongodb最大只能存放2G的数据,64bit就没有限制

性能

BSON格式的编码和解码都是非常快速的。它使用了C风格的数据表现形式,这样在各种语言中都可以高效地使用。

NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。

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

一、安装(windows)

下载mongodb的版本,两点注意

  • 根据业界规则,偶数为稳定版,如1.6.X,奇数为开发版,如1.7.X
  • 32bit的mongodb最大只能存放2G的数据,64bit就没有限制

首先去官网下载MongoDB的安装包, https://www.mongodb.com/try/download/community

Spider理论系列--MongoDB(一)_数据库

Spider理论系列--MongoDB(一)_mongodb_02

Spider理论系列--MongoDB(一)_mongodb_03

Spider理论系列--MongoDB(一)_数据库_04

Spider理论系列--MongoDB(一)_数据_05

Spider理论系列--MongoDB(一)_mongodb_06

Spider理论系列--MongoDB(一)_数据_07

Spider理论系列--MongoDB(一)_mongodb_08

Spider理论系列--MongoDB(一)_数据_09

Spider理论系列--MongoDB(一)_数据_10

Spider理论系列--MongoDB(一)_mongodb_11

将mongodb目录下的bin文件夹添加到环境变量

Spider理论系列--MongoDB(一)_mongodb_12

Spider理论系列--MongoDB(一)_数据库_13

Spider理论系列--MongoDB(一)_mongodb_14

Spider理论系列--MongoDB(一)_数据库_15

Spider理论系列--MongoDB(一)_数据库_16

对于mac的安装可以使用homebrew安装. 或参考这里https://www.runoob.com/mongodb/mongodb-osx-install.html

一、MongoDB 概念解析

SQL术语/概念

MongoDB术语/概念

解释/说明

database

database

数据库

table

collection

数据库表/集合

row

document

数据记录行/文档

column

field

数据字段/域

二、注意事项

需要注意的是:

  1. 文档中的键/值对是有序的。
  2. 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
  3. MongoDB区分类型和大小写。
  4. MongoDB的文档不能有重复的键。
  5. 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。

文档键命名规范:

  • .和$有特别的意义,只有在特定环境下才能使用。
  • 以下划线"_"开头的键是保留的(不是严格要求的)。

四、连接Mongodb

(1) cd mongo安装的目录/bin

输入 mongod.exe --dbpath=路径

(2) 重新启动一个Windows的终端 再次进入到 mongo安装的目录/bin

cd mongo安装的目录/bin

mongo.exe #此刻 进入到Mongodb数据库了

五、 对于库的操作

(1) 查看所有的库

show dbs

(2) 选择数据库 (如果使用的数据库存在 则使用 不存在 则创建)

use 库名

注意:

新创建的数据库 默认你是看不到的 可以使用db/db.getName() 去查看当前所在的库 往新的库里创建集合

(3) 查看当前所在的数据库
1. db
2. db.getName()
(4) 创建集合(也就是创建表)
  1. db.createCollection("集合名")
    remo例如:db.createCollection("user") #创建一个user的集合 在当前的库里
  2. db.集合名.insert(文档) #如果 当前的集合名不存在 那么就创建该集合 并插入文档(数据)

注意:

1. 在库里对于文档 集合的操作 统一使用db. (db代表当前的库)
2. 严格区分大小写
(5) 查看当前库下的所有集合

show collections

(6) 删除集合

db.集合名.drop()