MongoDBm基本概念的分析

1. mongodb 基本概念

  mongo基本的概念包括数据库、文档、集合。以下分别予以介绍。

1.1 数据库

  一个mongodb可以建立多个数据库,每一个都有自己独立的目录和权限,不同的数据库放在不同的文件中。使用”show dbs”可以显示所有的数据库列表。

>mongo
MongoDB shell version: 3.0.7
connecting to: test
>
> show dbs
local 0.078GB
test 0.078GB
>

  执行”db”可以显示当前正在使用的数据库。

> db
test
>

  “use”可以连接到指定数据库。

>use local
switched to db local
>
>


注意
数据库命名要符合以下条件:

  • 不能是空串
  • 不能含有’ ‘, ., $, \/等特殊字符串
  • 全部小写
  • 最多64字节

1.2 文档

  文档是mongodb中的最核心的概念,我们可以把它当做关系型数据库的一行的概念。多个键和它关联的值合在一起就是文档。MongoDB使用BSON结构来储存和交换数据(BSON可以理解为在JSON基础上添加了以下json不支持的数据类型),通常object就是指的文档,下面是一个文档的例子:

{site:”jeanphorn.github.io”}

  需要留意的地方:

  • 文档的键/值是有序的
  • 文档的值除了字符串,还可以是其他类型的数据结构(set,嵌套)
  • MongoDB区分类型和大小写
  • MongoDB不允许有重复的键

1.3 集合

  集合是一组文档的组合,如果把文档比作mysql中的行,那么集合就是mysql中的表。在MongoDB中集合是无模式的,存入集合的文档可以是不同的结构,例如下面的两个文档是可以存入同一个集合的。

{name: “jeanphorn”}
{name: “jeanphorn”, university: “cuc”}

  当第一个文档插入时,集合就被创建了。

>
>db.jeanphorn.insert({name: “jeanphorn”})
WriteResult({ “nInserted” : 1 })
>db.jeanphorn.insert({name: “jeanphorn”, university: “cuc”})
WriteResult({ “nInserted” : 1 })
>
>db.jeanphorn.find()
{ “_id” : ObjectId(“564da531f114824ae7b8138a”), “name” : “jeanphorn” }
{ “_id” : ObjectId(“564da54df114824ae7b8138b”), “name” : “jeanphorn”, “university” : “cuc” }
>

1.4 元数据

  数据库的信息存储在集合中,使用系统的命名空间”dbname.sytem.*”。

集合命名空间描述
dbname.system.namespaces列出所有命名空间
dbname.system.index索引
dbname.system.profile数据库概要信息
dbname.system.users列出可访问数据库的用户
dbname.system.sources包含slave服务器信息状态

1.5 数据类型

  下表是对MongoDB数据类型的相关描述。

集合命名空间描述
String在 MongoDB 中,UTF-8 编码的字符串才是合法的。
Integer整型数值。根据服务器,可分为 32 位或 64 位。
Boolean布尔值
Double双精度值
Min/Max keys将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
Arrays用于将数组或列表或多个值存储为一个键。
Timestamp时间戳。记录文档修改或添加的具体时间。
Object用于内嵌文档。
Null用于创建空值
Symbol符号。该数据类型基本上等同于字符串类型
Date日期时间。用 UNIX 时间格式来存储当前日期或时间。
Object ID对象 ID。用于创建文档的 ID
Binary Data二进制数据。
Code代码类型。用于在文档中存储 JavaScript 代码。
Regular expression正则表达式类型。用于存储正则表达式。

2. 例子

  这里引用runoob网上的一个例子可以更形象的理解MongoDB。

showMongo

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值