通俗讲解MongoDB数据库、集合、文档的概念

互联网 20-8-19
对于关系型数据库,我们知道,数据库中有多个表,数据表里有多行数据。而对于MongoDB来说,则是数据库里有多个集合,集合里由多个文档。

数据库

MongoDB的数据库概念和Mysql的差不多,每个数据库都可以设置独立的权限。

首先,我们来看如何创建数据库,MongoDB对于数据库名称也是有限制的,只能使用数字或字母,另外数据库名称是区分大小写的,一般的,我们都会使用小写的。另外,有一些关键字也是不可以使用的,如:admin、config、local等。

在MongoDB中,不需要显示的创建数据库,只需要选择use dbName即可,当数据库不存在的时候,会自动为我们创建。

> use huoying switched to db huoying

当使用db命令时,会显示当前使用的数据库名。

> db huoying

查看当前所有数据库,使用show dbs;

> show dbs; admin    0.000GB config   0.000GB huoying  0.000GB local    0.000GB

集合

MongoDB的集合类似于Mysql中的表,集合是有多个文档组成的。但集合不像表那样有字段的限制,集合下面的文档可以是各种各样。比如,一个集合下面可能有下面两种文档:

{"name":"gwx", "age" : 30}, {"id":1, "score":100}

虽然,集合对文档是没有限制的,但是为了数据管理的方便,我们一般都将相关文档放在一个集合里。

创建集合,分为直接创建和隐式创建。

# 显示的创建集合 > db.createCollection('huoying') { "ok" : 1 }

隐式创建集合,直接创建文档时,若集合不存在,会先创建集合

文档

最后,我们来看看文档。文档的数据类型类似于php中的关联数据、或JavaScript中的对象。

注意,文档是区分大小写以及数据类型的。看下面例子:

# 下面两个是不一样的文档,他们的数据类型不一样 {"name":30} {"name":"30"}  # 下面两个是不一样的文档,键名不一样 {"name":30} {"NAME":30}

新增文档

> db.users.insertOne({"name":"gwx", "age":29}) {  "acknowledged" : true,  "insertedId" : ObjectId("5f0cfdbb7688816db4d031bc") } > db.users.find() { "_id" : ObjectId("5f0cfdbb7688816db4d031bc"), "name" : "gwx", "age" : 29 } >

修改文档

使用update来更新文档内容,update需要两个参数,第一个是限定条件,用来查找指定的文档,第二个是新文档的内容。

> db.users.update({name:"gwx"}, {name:"monkeyking", age:500}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) > db.users.find() { "_id" : ObjectId("5f0cfdbb7688816db4d031bc"), "name" : "monkeyking", "age" : 500 }

删除文档

使用remove来删除文档

> db.users.remove({age:500}) WriteResult({ "nRemoved" : 1 })

以上就是通俗讲解MongoDB数据库、集合、文档的概念的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: mongodb
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:java中i++与++i的区别

相关资讯