Heim> Datenbank> MongoDB> Hauptteil

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

齐天大圣
Freigeben: 2020-08-19 11:32:52
Original
3449 Leute haben es durchsucht

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

数据库

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

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

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

> use huoying switched to db huoying
Nach dem Login kopieren

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

> db huoying
Nach dem Login kopieren

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

> show dbs; admin 0.000GB config 0.000GB huoying 0.000GB local 0.000GB
Nach dem Login kopieren

集合

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

{"name":"gwx", "age" : 30}, {"id":1, "score":100}
Nach dem Login kopieren

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

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

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

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

文档

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

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

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

新增文档

使用命令db.集合名.insertOne(文档数据),可以向指定集合插入一篇文档。若该集合不存在时,则会隐式创建该集合。

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

修改文档

使用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 }
Nach dem Login kopieren

删除文档

使用remove来删除文档

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

Das obige ist der detaillierte Inhalt von通俗讲解MongoDB数据库、集合、文档的概念. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!