Mongodb数据库

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
image
image
image
image
image
image
image
image
image
image
image

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

对于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()

六、INSERT

使用insert
db.集合名.insert(文档) #如果是添加数据 建议使用 insert

插入多条数据:
db.集合名.insert([文档]) #注意 一定要加[] 否则可能只会把 第一条文档插入进去

db.user.insert({'name':'lisi', 'age': 20})

db.user.insert([{'name':'lisi', 'age': 20},{'name': 'wangwu', 'age': 30}])

3.2 版本后还有以下几种语法可用于插入文档:(建议使用)

  • db.collection.insertOne(): 向指定集合中插入一条文档数z据
  • db.collection.insertMany(): 向指定集合中插入多条文档数据
db.user.insertOne({'name':'lisi', 'age': 20})

db.user.insertMany([{'name':'lisi', 'age': 20},{'name': 'wangwu', 'age': 30}])

七、FIND 查询

(1) find 查询所有

​ db.集合名.find([条件],{key1:1[,[key2:1]]}) #查询所有的数据 代表 显示哪些字段名

​ db.collection.find(query, {title: 1, by: 1}) // inclusion模式 指定返回的键,不返回其他键

​ db.collection.find(query, {title: 0, by: 0}) // exclusion模式 指定不返回的键,返回其他键

注意:

两种模式不可混用(因为这样的话无法推断其他键是否应返回)

db.collection.find(query, {
   title: 1, by
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逐梦舞者

你的打赏是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值