【MongoDB】数据库对象命名注意事项
其他
2020-02-12 16:50:48
阅读次数: 0
1.MongoDB与传统关系型数据库(TRDB)的对比
数据库DB |
数据库DB |
都有数据库的概念。需要使用命令建立 |
集合 |
表 |
集合对应TRDB中的表。不同的是表需要事先定义结构,但集合不需要定义 |
文档 |
行 |
每个文档都有一个_id ,_id 值在文档所属集合中是唯一的, 一个文档就类似于关系型数据库中的一条记录。 |
键值对 |
字段值 |
键值对就类似于字段值。只不过键值对可以存储更复杂的数据类型 |
2.数据库命名注意事项
1 |
不能有空字符串 |
2 |
不得含有空格、.(点)、$、、/、\0(空字符) |
3 |
区分大小写,建议全部小写 |
4 |
名称做多64位 |
5 |
不得使用保留的数据库名。如:admin、local、config、test |
3.集合命名注意事项
1 |
不能有空字符串 |
2 |
不得含有$、\0(空字符) |
3 |
不能以"system."开头,这是为系统集合保留的前缀 |
4 |
用"."来组织子集合,如test.demo |
4.文档键的命名注意事项
1 |
不能包含\0字符(空字符),这个字符表示键的结束 |
2 |
"."和"$"是系统保留的,只能在特定条件下使用 |
5.文档值的命名注意事项
1 |
null |
表示空值或者未定义的对象 |
{"name":null} |
2 |
布尔值 |
真(true)或者假(false) |
{"isNull":true} |
3 |
32位整数 |
shell不支持这种类型,默认会转成64位浮点数,也可以使用NumberInt类 |
{"number":NumberInt("5")} |
4 |
64位整数 |
shell不支持这种类型,默认会转成64位浮点数,也可以使用NumberLong类 |
{"number":NumberLong("5")} |
5 |
64位浮点数 |
shell中的数字就是这种类型 |
{"price":22.9} |
6 |
字符串 |
UTF-8字符串 |
{"name":"Jack"} |
7 |
对象id |
文档的12字节的唯一标识,保证一条文档记录的唯一性。允许自定义 |
{"id":ObjectId()} |
8 |
日期 |
从标准纪元开始的毫秒级 |
{"dtDate":new Date()} |
9 |
正则表达式 |
文档中可以包含正则表达式,遵循JavaScript语法,查询的时候, 使用正则表达式作为限定条件。 |
{"item":/[abc]/} |
10 |
代码 |
文档中可以包含JavaScript代码 |
{"nodeprocess":function(){}} |
11 |
数组 |
值的集合或者列表 |
{"books":["三国演义","水浒传","红楼梦"]} |
12 |
内嵌文档 |
JSON、XML等文档 |
⽤于嵌⼊式的⽂档, 即⼀个值为⼀个⽂档 |
转载自www.cnblogs.com/OliverQin/p/12298276.html