时间:2021-07-01 10:21:17 帮助过:3人阅读
说明:文档是有序的,键是区分大小写的
集合
集合就是一组文档。
集合是无模式的,即:一个集合中的文档可以是各式各样的例如:
集合代码:
1 {"course1":"hadoop","course2":"hive"} 2 {"studentName":"小红"}
数据库
MongoDB中多个集合组成数据库。一个MongoDB实例可以承载多个数据库,它们之间可视为完全独立的。每个数据库有自己的权限控制
对于习惯了关系型数据库的朋友们,我将MongoDB与关系型数据库的逻辑结构进行了对比。
MongoDB | 关系型数据库 |
文档(document) | 行(row) |
集合(collection) | 表(table) |
数据库(database) | 数据库(database) |
1 > show dbs //显示数据库信息 2 local (empty) 3 > db //查看当前链接到那个数据库 4 test 5 > user test //使用test数据库 6 Fri Mar 28 10:20:14 SyntaxError: missing ; before statement (shell):1 7 > use test 8 switched to db test 9 > post = {"title":"love","content":"I love you"} //定义文档 10 { "title" : "love", "content" : "I love you" } 11 > db 12 test 13 > db.test.blog.insert(post) //将文档插入到集合中 14 > db.test.blog.find() //查询集合 15 { "_id" : ObjectId("5334dd149b7a445ea2166559"), "title" : "love", "content" : "I 16 love you" } 17 > post = {"job":"java","city":"wuhan"} 18 { "job" : "java", "city" : "wuhan" } 19 > db.test.blog.insert(post) 20 > db.test.blog.find() 21 { "_id" : ObjectId("5334dd149b7a445ea2166559"), "title" : "love", "content" : "I 22 love you" } 23 { "_id" : ObjectId("5334dd669b7a445ea216655a"), "job" : "java", "city" : "wuhan" 24 } 25 >
null
1 {"x":null}
布尔
1 {"x":true}
32位整数
64位整数
64位浮点数
字符串
1 {"x":"hi world"}
对象id
日期
1 {"x":new Date()}
正则表达式
1 {"x":/foobar/i}
函数
1 {"x":function(){//......}}
二进制数据
可以由任意字节的串组成
最大值
最小值
未定义
1 {"x":undefined}
数组
1 {"x":["a","b","c"]}
内嵌文档
1 {"x":{"foo":"bar"}}
Mongodb中存储的文档必须有一个“_id”键。这个键的值可以是任何类型的,默认是ObjectId对象。在集合中,每个文档都有唯一的“_id”,来确保集合里面每个文档都能被唯一标示。
一个BSON ObjectID是12字节的值,包含了4字节的时间戳(纪元以来的秒数),3字节机器id,2字节进程id,和3字节计数值。注意不同于BSON中的其他字段,时间戳和计数值字段必须存储为big endian。这是由于会对它们按字节比较,我们希望大多数情况下保证是升序。它的格式:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
time | machine | pid | inc |
转载:http://zc985552943.iteye.com/blog/2037887
mongoDB入门
标签: