MongoDB常用概念

本文将介绍MongoDB的常用概念。

本文将根据下图介绍MongoDB中常用概念。如下图:

MongoDB常用概念

上图中,左边的是 MySQL 数据库中 users 表,右边是 MongoDB 中 users 集合。虽然表现形式不同,但是数据内容还是一样的。其中:

  • test:表示数据库

  • users:表示集合,类似MySQL中的表

  • {id:"1",name:"张三",age:28,email:"zhangs@gmail.com"}:表示一个文档,类似于MySQL中的记录

  • id、name、age和email:表示字段

MongoDB中创建users集合,以及向users集合中添加文档。如下:

# 向 users 集合添加文档,同时创建 users 集合
> db.users.insert({id:1, name:"张三", age:28, email:"zhangs@gmail.com"});
WriteResult({ "nInserted" : 1 })
> db.users.insert({id:2, name:"李四", age:25, email:"lis@sina.com"});
WriteResult({ "nInserted" : 1 })

# 查看 users 集合中的文档
> db.users.find();
{ "_id" : ObjectId("5e48ad8fc6a7b04f98190b4e"), "id" : 1, "name" : "张三", "age" : 28, "email" : "zhangs@gmail.com" }
{ "_id" : ObjectId("5e48adaac6a7b04f98190b4f"), "id" : 2, "name" : "李四", "age" : 25, "email" : "lis@sina.com" }

MongoDB和关系型数据库关系

MongoDB常用概念

数据库

一个MongoDB中可以建立多个数据库,这些数据库是相互独立的,有自己的集合和权限。不同的数据库使用不同的文件存储(不存储在一个文件中)。

MongoDB默认有3个数据库:

  • admin: 从权限的角度来看,这是"root"数据库。将一个用户添加到这个数据库,这个用户会自动继承所有数据库的权限。一些特定的服务器端命令也只能在这个数据库中运行,比如列出所有的数据库或者关闭服务器。

  • local: 这个数据库永远不会被复制,里面的数据都是本地的(不会复制到其他MongoDB服务器上),可以用来存储限于本地单台服务器的任意集合

  • config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

一个数据库可以拥有多个集合,mongodb中的数据库相当于关系型数据库中的数据库,例如:MySQL中的数据库。

集合

集合是一组文档(即上面的 users 集合)。集合相当于关系数据库中的表,但集合中的文档长度可不同(集合中的文档中的键值对个数可不同)、集合中文档的key可不同。向集合中插入第一个文档时,集合会被自动创建。

文档

文档是一组键值对,用{ }表示,字段之间用逗号分隔。相当于关系数据库中的一行(一条记录)。示例:一个文档

{
    id: "1",
    name: "张三",
    age: 28,
    email: "zhangs@gmail.com"
}

这样写是为了方便看字段,也可以写在一起 {id:"1",name:"张三",age:28,email:"zhangs@gmail.com"},一样的。

 

说明:

  • 文档中的键值对是有序的

  • 一个文档中不能有重复的key(对应关系数据库中的一条记录)

  • 以"_"开头的key是保留的,有特殊含义。

字段

即一个键值对,key必须是String类型,value可以是任意类型。

学习必须与实干相结合。 —— 泰戈尔
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号