Tutorial MongoD...LOG MASUK
Tutorial MongoDB
pengarang:php.cn  masa kemas kini:2022-04-21 17:49:03

Analisis konsep MongoDB


Tidak kira pangkalan data yang kita pelajari, kita harus mempelajari konsep asas dalam mongodb ialah dokumen, koleksi dan pangkalan data.

Jadual berikut akan membantu anda memahami beberapa konsep dalam Mongo dengan lebih mudah:

SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins 表连接,MongoDB不支持
primary keyprimary key主键,MongoDB自动将_id字段设置为主键

Melalui contoh di bawah, kita juga boleh memahami beberapa konsep dalam Mongo dengan lebih intuitif:


Pangkalan Data

A mongodb Pelbagai pangkalan data boleh dicipta.

Pangkalan data lalai MongoDB ialah "db", yang disimpan dalam direktori data.

Satu contoh MongoDB boleh menempatkan berbilang pangkalan data bebas, setiap satu dengan koleksi dan kebenarannya sendiri, dan pangkalan data yang berbeza juga diletakkan dalam fail yang berbeza. Perintah

"show dbs" boleh memaparkan senarai semua data.

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> show dbs
local  0.078GB
test   0.078GB
>

Laksanakan perintah "db" untuk memaparkan objek atau koleksi pangkalan data semasa.

$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> db
test
>

Jalankan arahan "use" untuk menyambung ke pangkalan data yang ditentukan.

> use local
switched to db local
> db
local
>

Dalam contoh arahan di atas, "tempatan" ialah pangkalan data yang anda ingin pautkan.

Dalam bab seterusnya kami akan menerangkan secara terperinci penggunaan arahan dalam MongoDB.

Pangkalan data juga dikenal pasti mengikut nama. Nama pangkalan data boleh berupa mana-mana rentetan UTF-8 yang memenuhi syarat berikut.

  • tidak boleh menjadi rentetan kosong ("").

  • tidak boleh mengandungi ' ' (ruang), ., $, /, dan Dari perspektif kebenaran, ini ialah pangkalan data "root". Jika pengguna ditambahkan ke pangkalan data ini, pengguna secara automatik mewarisi semua kebenaran pangkalan data. Arahan bahagian pelayan tertentu juga hanya boleh dijalankan daripada pangkalan data ini, seperti menyenaraikan semua pangkalan data atau menutup pelayan.

  • tempatan:
  • Data ini tidak sekali-kali disalin dan boleh digunakan untuk menyimpan sebarang koleksi terhad kepada satu pelayan tempatan
konfigurasi

: Apabila Mongo digunakan untuk persediaan sharding, pangkalan data konfigurasi digunakan secara dalaman untuk menyimpan maklumat tentang shard.

  • Dokumen

    Dokumen ialah pasangan nilai kunci (iaitu BSON). Dokumen MongoDB tidak perlu mempunyai medan yang sama, dan medan yang sama tidak perlu daripada jenis data yang sama Ini sangat berbeza daripada pangkalan data hubungan dan juga merupakan ciri MongoDB yang sangat menonjol.
  • Contoh dokumentasi mudah adalah seperti berikut:

    {"site":"www.php.cn", "name":"php中文网"}
    Jadual berikut menyenaraikan istilah yang sepadan dengan RDBMS dan MongoDB:

    Perlu diambil perhatian bahawa:

    1. Pasangan kunci/nilai dalam dokumen disusun.

    2. Nilai dalam dokumen bukan sahaja boleh menjadi rentetan di dalam petikan berganda, tetapi juga beberapa jenis data lain (atau malah keseluruhan dokumen terbenam).

    3. MongoDB adalah sensitif jenis dan huruf besar.

    4. Dokumen MongoDB tidak boleh mempunyai kunci pendua.

    5. Kunci dokumen ialah rentetan. Dengan beberapa pengecualian, kunci boleh menggunakan aksara UTF-8 sewenang-wenangnya.

    Konvensyen penamaan kunci dokumen:

    • kunci tidak boleh mengandungi Tidak seperti koleksi standard, anda mesti membuat koleksi yang dihadkan secara eksplisit. Nyatakan saiz koleksi dalam bait. Nilai ruang storan data koleksi diperuntukkan terlebih dahulu.

    • Perlu diambil perhatian bahawa saiz storan yang ditentukan termasuk maklumat pengepala pangkalan data.

    • {"site":"www.baidu.com"}
      {"site":"www.google.com","name":"Google"}
      {"site":"www.php.cn","name":"php中文网","num":5}

    • Dalam koleksi berhad, anda boleh menambah objek baharu.

    boleh dikemas kini, walau bagaimanapun, objek tidak menambah ruang storan. Jika ditingkatkan, kemas kini akan gagal.

    Pangkalan data tidak membenarkan pemadaman. Gunakan kaedah drop() untuk memadam semua baris dalam koleksi.

  • Nota: Selepas pemadaman, anda mesti mencipta semula koleksi secara eksplisit.

  • Pada mesin 32bit, kapasiti storan maksimum koleksi berhad ialah 1e9 (1X109) bait.


Metadata

Maklumat pangkalan data disimpan dalam koleksi. Mereka menggunakan ruang nama sistem:

db.col.findOne()

Dalam pangkalan data MongoDB, ruang nama <dbname>.system.* ialah koleksi khas (Koleksi) yang mengandungi pelbagai maklumat sistem, seperti berikut:

集合命名空间描述
dbname.system.namespaces列出所有名字空间。
dbname.system.indexes列出所有索引。
dbname.system.profile包含数据库概要(profile)信息。
dbname.system.users列出所有可访问数据库的用户。
dbname.local.sources包含复制对端(slave)的服务器信息和状态。

Terdapat sekatan berikut untuk mengubah suai objek dalam koleksi sistem.

Sisipkan data dalam {{system.indexes}} untuk mencipta indeks. Tetapi sebaliknya maklumat jadual tidak boleh diubah (arahan indeks penurunan khas akan mengemas kini maklumat yang berkaitan secara automatik).

{{system.users}} boleh diubah suai. {{system.profile}} boleh dialih keluar.


Jenis data MongoDB

Jadual berikut menunjukkan beberapa jenis data yang biasa digunakan dalam MongoDB.

数据类型描述
String字符串。存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
Integer整型数值。用于存储数值。根据你所采用的服务器,可分为 32 位或 64 位。
Boolean布尔值。用于存储布尔值(真/假)。
Double双精度浮点值。用于存储浮点值。
Min/Max keys将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
Arrays用于将数组或列表或多个值存储为一个键。
Timestamp时间戳。记录文档修改或添加的具体时间。
Object用于内嵌文档。
Null用于创建空值。
Symbol符号。该数据类型基本上等同于字符串类型,但不同的是,它一般用于采用特殊符号类型的语言。
Date日期时间。用 UNIX 时间格式来存储当前日期或时间。你可以指定自己的日期时间:创建 Date 对象,传入年月日信息。
Object ID对象 ID。用于创建文档的 ID。
Binary Data二进制数据。用于存储二进制数据。
Code代码类型。用于在文档中存储 JavaScript 代码。
Regular expression正则表达式类型。用于存储正则表达式。

Laman web PHP Cina