对于关系型数据库,我们知道,数据库中有多个表,数据表里有多行数据。而对于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.集合名.insertOne(文档数据),可以向指定集合插入一篇文档。若该集合不存在时,则会隐式创建该集合。
> 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 })
Atas ialah kandungan terperinci 通俗讲解MongoDB数据库、集合、文档的概念. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Perbezaan antara mongodb dan mysql
arahan permulaan mongodb
Bagaimana untuk memadam data dalam MongoDB
Perisian pangkalan data yang biasa digunakan
Apakah kawasan aplikasi mongodb?
Yang manakah mempunyai kelajuan bacaan yang lebih pantas, mongodb atau redis?
Bagaimana untuk memadam sepenuhnya mongodb jika pemasangan gagal
Mongodb dan mysql mudah digunakan dan disyorkan