Latest web development tutorials

Konsep analitis MongoDB

Apakah kita belajar apa database harus belajar salah satu konsep mendasar dalam konsep dasar mongodb adalah bahwa dokumen, koleksi, database, di sini kami memperkenalkan satu per satu.

Tabel berikut akan membantu Anda lebih mudah untuk memahami beberapa konsep Mongo:

SQL Terminologi / Konsep Istilah MongoDB / konsep Penjelasan / Keterangan
Database Database database
tabel koleksi tabel database / Koleksi
baris dokumen Baris perekaman data / Dokumentasi
kolom bidang Data Field / Domain
indeks indeks indeks
tabel bergabung Tabel bergabung, MongoDB tidak mendukung
kunci utama kunci utama kunci utama, MongoDB otomatis _id lapangan sebagai kunci utama

Dengan mengikuti contoh tokoh, kita bisa pemahaman yang lebih intuitif Mongo beberapa konsep:


database

Sebuah mongodb dapat membuat beberapa database.

Database default MongoDB adalah "db", database disimpan di direktori data.

Sebuah contoh dari MongoDB dapat menampung beberapa database independen, masing-masing dengan mengatur sendiri perizinan dan database yang berbeda juga ditempatkan dalam file yang berbeda.

"Show dbs" perintah untuk menampilkan daftar semua data.

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

Pelaksanaan perintah "db" untuk menampilkan objek database saat ini atau koleksi.

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

Menjalankan "menggunakan" perintah, Anda dapat terhubung ke database tertentu.

> use local
switched to db local
> db
local
> 

Contoh perintah di atas, "lokal" adalah bahwa Anda ingin menghubungkan basis data.

Dalam bab berikutnya kita akan menjelaskan secara rinci penggunaan MongoDB di perintah.

Database juga diidentifikasi dengan nama. nama database dapat salah satu dari kondisi berikut UTF-8 string.

  • Hal ini tidak bisa string kosong ( "").
  • Tidak mengandung '' (space)., $, /, \ Dan \ 0 (nol Yu Fu).
  • Ini harus huruf kecil semua.
  • Sampai dengan 64 byte.

Beberapa nama database milik dan dapat langsung mengakses database ini memiliki peran khusus.

  • admin: dari sudut pandang otoritas, yang merupakan "akar" database. Jika Anda menambahkan pengguna ke database, pengguna secara otomatis mewarisi semua database perizinan. Beberapa perintah server-side tertentu hanya dapat dijalankan dari database, seperti daftar semua database atau server.
  • lokal: Data ini tidak akan pernah disalin, dapat digunakan untuk menyimpan koleksi setiap terbatas ke server lokal tunggal
  • config: Ketika Mongo untuk fragmentasi diatur ke database, konfigurasi yang digunakan secara internal untuk menyimpan informasi slice.

berkas

Dokumentasi adalah kunci (key-value) dari (yaitu BSON). Dokumen MongoDB tidak perlu disediakan bidang yang sama, bidang yang sama dan tidak memerlukan jenis data yang sama, yang merupakan database relasional sangat berbeda, MongoDB juga fitur yang sangat menonjol.

Sebuah contoh dokumen sederhana adalah sebagai berikut:

{"site":"www.w3big.com", "name":"本教程"}

Tabel berikut berisi daftar RDBMS dan MongoDB sesuai persyaratan:

RDBMS MongoDB
database database
tabel set
baris berkas
baris bidang
Tabel bersama dokumen tertanam
kunci utama Kunci utama (MongoDB memberikan kunci untuk _id yang)
layanan database dan klien
Mysqld / Oracle mongod
mysql / sqlplus mongo

Perhatikan bahwa:

  1. Dokumen pasangan kunci / nilai yang diperintahkan.
  2. Dokumen mungkin tidak hanya nilai string dalam tanda kutip ganda juga dapat beberapa jenis data lain (atau bahkan dokumen tertanam seluruh).
  3. MongoDB untuk membedakan jenis dan sensitif.
  4. Dokumen MongoDB tidak dapat memiliki kunci duplikat.
  5. dokumen kunci adalah string. Dengan beberapa pengecualian, kuncinya dapat menggunakan UTF-8 karakter.

dokumen penting konvensi penamaan:

  • Key tidak dapat berisi \ 0 (nol karakter). Karakter ini digunakan untuk menunjukkan akhir dari obligasi.
  • . Dan $ telah arti khusus hanya dapat digunakan dalam keadaan tertentu.
  • Menggarisbawahi "_" pada awal kunci dicadangkan (tidak ketat diperlukan).

set

MongoDB adalah kelompok dokumen koleksi, mirip dengan RDBMS (sistem manajemen database relasional: Relational Database Management System) dalam bentuk.

Koleksi ada dalam database, koleksi ada struktur tetap, yang berarti bahwa Anda dapat memasukkan dalam pengumpulan data dalam format yang berbeda dan jenis, tetapi biasanya kita memasukkan satu set data akan memiliki relevansi.

Sebagai contoh, kita dapat mendokumentasikan struktur data yang berbeda ke dalam koleksi:

{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.w3big.com","name":"本教程","num":5}

Ketika dokumen pertama dalam koleksi akan dibuat.

Sah nama koleksi

  • Nama koleksi tidak dapat string kosong "."
  • Mengatur nama tidak boleh berisi \ 0 karakter (karakter null), karakter ini menunjukkan akhir dari kumpulan nama.
  • Mengatur nama tidak dapat "sistem." Pada awal, yang dicadangkan untuk sistem set prefix.
  • User-diciptakan nama koleksi tidak dapat berisi karakter pendiam. Beberapa driver lakukan mendukung pengumpulan yang berisi nama, hal ini karena beberapa koleksi sistem yang dihasilkan mengandung karakter. Kecuali jika Anda ingin mengakses koleksi dari sistem tersebut dibuat, dinyatakan tidak muncul di $ nama dalam.

Contoh berikut:

db.col.findOne()

koleksi capped

koleksi capped adalah koleksi berukuran tetap.

Ini memiliki karakteristik kinerja tinggi dan antrian berakhir (kadaluarsa sesuai dengan urutan penyisipan). Agak mirip dan konsep "RRD".

koleksi capped secara otomatis dimasukkan dalam rangka mempertahankan objek kinerja tinggi. Ini sangat ideal untuk fungsi dan koleksi logging standar yang sama dari yang berbeda, Anda harus secara eksplisit membuat koleksi capped, koleksi ukuran tertentu, dalam byte. koleksi nilai ruang penyimpanan data yang ditugaskan di muka.

Perlu dicatat bahwa ukuran penyimpanan yang ditentukan dari database yang berisi informasi header.

db.createCollection("mycoll", {capped:true, size:100000})
  • Dalam koleksi capped, Anda dapat menambahkan objek baru.
  • Dapat diperbarui, namun, objek akan tidak menambah ruang penyimpanan. Jika Anda meningkatkan update akan gagal.
  • database tidak memungkinkan penghapusan. Gunakan drop () metode untuk menghapus semua koleksi baris.
  • Catatan: Setelah Anda menghapus, Anda harus secara eksplisit menciptakan koleksi.
  • Di mesin 32bit, koleksi capped adalah 1E9 penyimpanan terbesar (1x10 9) byte.

metadata

Informasi dalam database disimpan dalam koleksi. Mereka menggunakan sistem namespace:

dbname.system.*

Dalam MongoDB Database namespace <dbname> .Sistem * yang berisi berbagai informasi sistem, koleksi khusus (Collection), sebagai berikut:

Koleksi namespace deskripsi
dbname.system.namespaces Daftar semua ruang nama.
dbname.system.indexes Daftar semua indeks.
dbname.system.profile Ini berisi ringkasan basis data (profil) informasi.
dbname.system.users Daftar semua pengguna dapat mengakses database.
dbname.local.sources Ini berisi salinan akhir (budak) informasi server dan status.

Untuk mengubah objek sistem dalam koleksi memiliki batasan sebagai berikut.

Dalam {{system.indexes}} memasukkan data, Anda dapat membuat indeks. Tetapi sebaliknya informasi tabel adalah kekal (indeks penurunan khusus perintah otomatis akan memperbarui informasi yang relevan).

{{System.users}} yang dimodifikasi. {{System.profile}} dihapus.


MongoDB tipe data

Tabel berikut MongoDB beberapa jenis data yang umum digunakan.

Jenis Data deskripsi
tali String. Menyimpan data yang umum digunakan jenis data. Dalam MongoDB, UTF-8 encoded string adalah legal.
bilangan bulat nilai integer. Ini digunakan untuk menyimpan nilai-nilai. Tergantung pada server yang Anda gunakan, itu dapat dibagi menjadi 32-bit atau 64-bit.
boolean nilai Boolean. Untuk menyimpan nilai-nilai Boolean (true / false).
dua kali lipat Presisi ganda nilai floating-point. Untuk menyimpan nilai-nilai floating-point.
Kunci Min / Max Nilai minimum dan nilai BSON (binary JSON) elemen dan nilai tertinggi dari rasio relatif.
array Untuk array atau daftar atau toko beberapa nilai untuk kunci.
timestamp Timestamp. Mengubah atau menambah catatan mendokumentasikan waktu tertentu.
obyek Untuk dokumen tertanam.
batal Ini menciptakan nilai kosong.
simbol Simbol. Jenis data ini secara substansial sama dengan tipe string, tetapi perbedaannya adalah bahwa secara umum untuk penggunaan simbol-simbol khusus diketik bahasa.
tanggal Tanggal Waktu. UNIX format waktu yang digunakan untuk menyimpan tanggal atau waktu. Anda dapat menentukan tanggal dan waktu Anda sendiri: Tanggal objek dibuat, informasi tanggal masuk.
ID objek Objek ID. ID yang digunakan untuk membuat dokumen.
data biner data biner. Untuk menyimpan data biner.
kode Tag jenis. kode JavaScript digunakan untuk menyimpan dokumen.
ekspresi reguler Jenis ekspresi reguler. Untuk menyimpan ekspresi reguler.