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

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

Aug 19, 2020 am 10:27 AM
mongodb

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

数据库

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

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

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

> use huoying
switched to db huoying
Salin selepas log masuk

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

> db
huoying
Salin selepas log masuk

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

> show dbs;
admin    0.000GB
config   0.000GB
huoying  0.000GB
local    0.000GB
Salin selepas log masuk

集合

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

{"name":"gwx", "age" : 30},
{"id":1, "score":100}
Salin selepas log masuk

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

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

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

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

文档

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

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

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

# 下面两个是不一样的文档,键名不一样
{"name":30}
{"NAME":30}
Salin selepas log masuk

新增文档

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

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

修改文档

使用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 }
Salin selepas log masuk

删除文档

使用remove来删除文档

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

Atas ialah kandungan terperinci 通俗讲解MongoDB数据库、集合、文档的概念. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apa yang perlu dilakukan jika navicat tamat tempoh Apa yang perlu dilakukan jika navicat tamat tempoh Apr 23, 2024 pm 12:12 PM

Penyelesaian untuk menyelesaikan isu tamat tempoh Navicat termasuk: memperbaharui lesen dan menyahpasang semula kemas kini automatik, hubungi Navicat Premium Essentials;

Adakah sukar untuk mempelajari nodej di bahagian hadapan? Adakah sukar untuk mempelajari nodej di bahagian hadapan? Apr 21, 2024 am 04:57 AM

Untuk pembangun bahagian hadapan, kesukaran mempelajari Node.js bergantung pada asas JavaScript mereka, pengalaman pengaturcaraan sisi pelayan, kebiasaan baris arahan dan gaya pembelajaran. Keluk pembelajaran termasuk modul peringkat permulaan dan peringkat lanjutan yang memfokuskan pada konsep asas, seni bina bahagian pelayan, penyepaduan pangkalan data dan pengaturcaraan tak segerak. Secara keseluruhan, mempelajari Node.js tidak sukar untuk pembangun yang mempunyai asas yang kukuh dalam JavaScript dan bersedia untuk melaburkan masa dan usaha, tetapi bagi mereka yang kurang pengalaman yang berkaitan, mungkin terdapat cabaran tertentu untuk diatasi.

Bagaimana untuk menyambungkan navicat ke mongodb Bagaimana untuk menyambungkan navicat ke mongodb Apr 24, 2024 am 11:27 AM

Untuk menyambung ke MongoDB menggunakan Navicat, anda perlu: Pasang Navicat Buat sambungan MongoDB: a Masukkan nama sambungan, alamat hos dan port b Masukkan maklumat pengesahan (jika perlu) Tambah sijil SSL (jika perlu) Sahkan sambungan Simpan sambungan

Apakah modul yang biasa digunakan dalam nodejs? Apakah modul yang biasa digunakan dalam nodejs? Apr 21, 2024 am 04:34 AM

Modul yang paling biasa digunakan dalam Node.js termasuk: Modul sistem fail untuk operasi fail Modul rangkaian untuk komunikasi rangkaian Modul aliran untuk memproses aliran data Modul pangkalan data untuk berinteraksi dengan pangkalan data Modul utiliti lain seperti penyulitan, rentetan pertanyaan Penghuraian rentetan dan rangka kerja HTTP

Apakah kegunaan net4.0 Apakah kegunaan net4.0 May 10, 2024 am 01:09 AM

.NET 4.0 digunakan untuk mencipta pelbagai aplikasi dan ia menyediakan pemaju aplikasi dengan ciri yang kaya termasuk: pengaturcaraan berorientasikan objek, fleksibiliti, seni bina berkuasa, penyepaduan pengkomputeran awan, pengoptimuman prestasi, perpustakaan yang luas, keselamatan, Kebolehskalaan, akses data dan mudah alih sokongan pembangunan.

Pangkalan data apakah yang baik untuk nodejs? Pangkalan data apakah yang baik untuk nodejs? Apr 21, 2024 am 05:06 AM

Untuk aplikasi Node.js, memilih pangkalan data bergantung pada keperluan aplikasi. Pangkalan data NoSQL MongoDB menyediakan fleksibiliti, Redis menyediakan konkurensi tinggi, Cassandra mengendalikan data siri masa, dan Elasticsearch dikhususkan untuk mencari. Pangkalan data SQL MySQL mempunyai prestasi cemerlang, PostgreSQL kaya dengan ciri, SQLite ringan, dan Pangkalan Data Oracle adalah komprehensif. Apabila memilih, pertimbangkan jenis data, pertanyaan, prestasi, transaksi, ketersediaan, pelesenan dan kos.

Bagaimana untuk menyambungkan nodejs ke pangkalan data Bagaimana untuk menyambungkan nodejs ke pangkalan data Apr 21, 2024 am 05:07 AM

Langkah-langkah untuk menyambung ke pangkalan data dalam Node.js: Pasang pakej MySQL, MongoDB atau PostgreSQL. Buat objek sambungan pangkalan data. Buka sambungan pangkalan data dan kendalikan ralat sambungan.

Bagaimana nodejs melaksanakan pangkalan data Bagaimana nodejs melaksanakan pangkalan data Apr 21, 2024 am 05:42 AM

Menyambung ke pangkalan data dalam Node.js memerlukan memilih sistem pangkalan data (hubungan atau bukan hubungan) dan kemudian mewujudkan sambungan menggunakan modul khusus untuk jenis itu. Modul biasa termasuk mysql (MySQL), pg (PostgreSQL), mongodb (MongoDB), dan redis (Redis). Selepas sambungan diwujudkan, anda boleh menggunakan pernyataan pertanyaan untuk mendapatkan semula data dan mengemas kini pernyataan untuk mengubah suai data. Akhir sekali, sambungan mesti ditutup apabila semua operasi selesai untuk melepaskan sumber. Tingkatkan prestasi dan keselamatan dengan mengikuti amalan terbaik ini, seperti menggunakan pengumpulan sambungan, pertanyaan berparameter dan mengendalikan ralat dengan anggun.

See all articles