MongoDB学习笔记

2020-07-25  本文已影响0人  dev_winner

①社交场景:用于存储用户个人信息;用户发表的朋友圈信息;通过地理位置索引实现附近的人、地点等功能。
②游戏场景:用于存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、高效率存储和访问。
③物流场景:用于存储订单信息,订单状态在运送过程中会不断更新,以内嵌数组的形式来存储,一次查询就能将该订单所有的变更读取出来。
④物联网场景:用于存储所有接入的智能设备信息,设备汇报的日志信息,并对这些信息进行多维度的分析。
⑤视频直播:用于存储用户信息、点赞互动信息等。

SQL术语 MongoDB术语 解释
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins - 表连接/MongoDB不支持
- 嵌入式文档 MongoDB通过嵌入式文档来替代多表连接
primary key primary key 主键/MongoDB自动将_id字段设置为主键
数据类型 描述 举例
字符串 UTF-8字符串都可表示为字符串类型的数据 {"x" : "foobar"}
对象id 文档的12字节唯一ID,类似UUID {"X" :ObjectId() }
布尔值 真或假:true或false {"x": true}
数组 值的集合或列表可以表示成数组 {"x" : ["a", "b", "c"]}
32位整数 类型不可用。JavaScript仅支持64位浮点数,所以32位整数会被自动转换 shell是不支持该类型的,shell中默认会转换成64位浮点数
64位整数 不支持这个类型。shell会使用一个特殊的内嵌文档来显示64位整数 shell是不支持该类型的,shell中默认会转换成64位浮点数
64位浮点数 shell中的数字就是这一种类型 {"x": 3.14159,"y": 3}
null 表示空值或未定义的对象 {"x": null}
undefined 文档中可以使用未定义类型 {"x": undefined}
符号 shell不支持,shell会将数据库中带符号类型的数据自动转换成字符串 -
正则表达式 文档中可以包含正则表达式,采用JavaScript的正则表达式语法 {"x" :/foobar/i}
代码 文档中还可以包含JavaScript代码 {"x" : function() { /* …… */ }}
二进制数据 二进制数据可以由任意字节的数字串组成,不过在shell中无法使用 -
最大值/最小值 BSON包括一个特殊类型,表示可能的最大值/最小值。shell中没有这个类型。 -

1、不能是空字符串("");
2、不得含有' '(空格)、.$/\\0 (空字符);
3、应该全部小写;
4、最多为64个字节。

1、admin:从权限的角度来看,这是root数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
2、local:此数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合。
3、config:当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

db.collection.insert(
 <document or array of documents>,
 {
  writeConcern: <document>,
  ordered: <boolean>
 }
)
db.comment.insert({"articleid":"100000","content":"今天天气真好,阳光明媚","userid":"1001","nickname":"Rose","createdatetime":new Date(),"likenum":NumberInt(10),"state":null})
上一篇下一篇

猜你喜欢

热点阅读