


Gunakan PHP dan MongoDB untuk melaksanakan pangkalan data NoSQL untuk memenuhi keperluan pengguna yang berbeza
Pangkalan data NoSQL (Bukan Sahaja SQL) ialah sejenis pangkalan data yang telah berkembang pesat dalam beberapa tahun kebelakangan ini Berbanding dengan pangkalan data hubungan tradisional, ia mempunyai kebolehskalaan dan prestasi yang lebih baik, serta menyokong lebih banyak jenis data dan kaedah penyimpanan data. Antaranya, MongoDB ialah pangkalan data NoSQL yang menggunakan model pangkalan data dokumen dan digunakan secara meluas dalam aplikasi web, aplikasi mudah alih, peranti Internet of Things dan bidang lain.
Artikel ini akan memperkenalkan cara menggunakan PHP untuk menulis operasi asas pangkalan data MongoDB, dan menunjukkan cara memenuhi keperluan pengguna yang berbeza melalui contoh.
1. Operasi asas pangkalan data MongoDB
Pangkalan data MongoDB menggunakan model data dokumen, dan unit data asasnya ialah dokumen (dokumen), yang serupa dengan baris (baris) dalam pangkalan data hubungan. Setiap dokumen boleh mengandungi jenis data yang berbeza, seperti rentetan, integer, boolean, tatasusunan, tarikh, dsb. Dokumen diwakili dalam format JSON dan disimpan dalam koleksi MongoDB.
1. Sambung ke pangkalan data MongoDB
Sebelum menggunakan MongoDB, anda perlu memasang sambungan pemacu MongoDB. Ini boleh dicapai dengan menetapkan fungsi dl() dalam PHP, atau anda boleh memuat turun terus sambungan MongoDB dan memasangnya secara manual.
Kod untuk menyambung ke pangkalan data MongoDB adalah seperti berikut:
<?php $mongo_server = "mongodb://localhost:27017"; $mongo_connection = new MongoClient($mongo_server); ?>
Antaranya, $mongo_server ialah rentetan sambungan pangkalan data MongoDB, dan $mongo_connection ialah objek sambungan MongoDB.
2. Pilih pangkalan data dan koleksi
Sebelum menggunakan MongoDB, anda perlu memilih pangkalan data dan koleksi yang anda mahu kendalikan. Kod untuk memilih pangkalan data adalah seperti berikut:
<?php $mongo_db = $mongo_connection->selectDB("mydb"); ?>
Antaranya, $mongo_db ialah objek pangkalan data yang dipilih, dan mydb ialah nama pangkalan data.
Kod untuk memilih koleksi adalah seperti berikut:
<?php $mongo_collection = $mongo_db->selectCollection("mycollection"); ?>
Antaranya, $mongo_collection ialah objek koleksi yang dipilih, dan mycollection ialah nama koleksi. Jika koleksi tidak wujud, ia akan dibuat secara automatik.
3. Masukkan dokumen
Kod untuk memasukkan dokumen menggunakan MongoDB adalah seperti berikut:
<?php $document = array( "title" => "MongoDB Tutorial", "description" => "This is a tutorial for MongoDB database", "by_user" => "John Doe", "url" => "http://www.mongodb.com", "tags" => array("mongodb", "database", "NoSQL"), "likes" => 100 ); $mongo_collection->insert($document); ?>
Antaranya, $document ialah dokumen yang akan disisipkan, yang boleh mengandungi pelbagai medan dan nilai.
4. Dokumen pertanyaan
Kod untuk pertanyaan dokumen menggunakan MongoDB adalah seperti berikut:
<?php $criteria = array("likes" => array('$gt' => 50)); $cursor = $mongo_collection->find($criteria); foreach($cursor as $document) { echo $document["title"] . " - " . $document["url"] . "<br/>"; } ?>
Antaranya, $kriteria ialah syarat penapisan dan $kursor ialah set hasil pertanyaan yang dikembalikan. Untuk melintasi set hasil, anda boleh menggunakan gelung foreach.
5. Kemas kini dokumen
Kod untuk mengemas kini dokumen menggunakan MongoDB adalah seperti berikut:
<?php $criteria = array("title" => "MongoDB Tutorial"); $newdata = array('$set' => array("description" => "This is an updated tutorial")); $mongo_collection->update($criteria, $newdata, array("multiple" => true)); ?>
Antaranya, $kriteria ialah syarat penapisan dokumen yang akan dikemas kini, $newdata ialah medan dan nilai yang akan dikemas kini, dan parameter ketiga menunjukkan sama ada untuk mengemas kini berbilang dokumen.
6. Padam dokumen
Kod untuk memadam dokumen menggunakan MongoDB adalah seperti berikut:
<?php $criteria = array("likes" => array('$lt' => 50)); $mongo_collection->remove($criteria); ?>
Antaranya, $kriteria ialah syarat penapisan dokumen yang hendak dipadam.
2. Contoh Demonstrasi
Berdasarkan operasi asas di atas, kami dapat merealisasikan keperluan pengguna yang berbeza.
1. Keperluan pengguna biasa
Andaikan ada sistem pengurusan maklumat buku yang perlu melaksanakan fungsi berikut:
(1) Tambah maklumat buku
(2) Maklumat buku pertanyaan
(3) Kemas kini maklumat buku
(4 )Padam maklumat buku
Pengguna sistem ini adalah pengguna biasa dan tidak memerlukan log masuk pengguna dan kawalan kebenaran. Kod untuk menggunakan MongoDB untuk mencapai keperluan di atas adalah seperti berikut:
<?php $mongo_server = "mongodb://localhost:27017"; $mongo_connection = new MongoClient($mongo_server); $mongo_db = $mongo_connection->selectDB("mydb"); $mongo_collection = $mongo_db->selectCollection("books"); //添加图书信息 $document = array( "title" => "PHP and MongoDB Web Development", "author" => "Jason", "publisher" => "O'Reilly Media", "ISBN" => "978-1491903037", "price" => 39.98, "pages" => 272 ); $mongo_collection->insert($document); //查询图书信息 $criteria = array("price" => array('$lt' => 50)); $cursor = $mongo_collection->find($criteria); foreach($cursor as $document) { echo $document["title"] . " - " . $document["author"] . "<br/>"; } //更新图书信息 $criteria = array("title" => "PHP and MongoDB Web Development"); $newdata = array('$set' => array("price" => 45.99)); $mongo_collection->update($criteria, $newdata, array("multiple" => true)); //删除图书信息 $criteria = array("ISBN" => "978-1491903037"); $mongo_collection->remove($criteria); ?>
2 Keperluan pentadbir
Andaikan terdapat sistem pengurusan blog yang perlu melaksanakan fungsi berikut:
(1) Tambah blog
(2) Senarai blog pertanyaan
(3 ) Edit blog
(4) Padam blog
Pengguna sistem ini dibahagikan kepada pengguna biasa dan pentadbir perlu log masuk dan melakukan kawalan kebenaran. Kod untuk melaksanakan fungsi di atas menggunakan PHP dan MongoDB adalah seperti berikut:
<?php $mongo_server = "mongodb://localhost:27017"; $mongo_connection = new MongoClient($mongo_server); $mongo_db = $mongo_connection->selectDB("mydb"); //登录验证 $username = "admin"; $password = "admin"; $users_collection = $mongo_db->selectCollection("users"); $criteria = array("username" => $username, "password" => md5($password)); $user = $users_collection->findOne($criteria); if(empty($user) || $user["role"] != "admin") { echo "Access denied!"; exit; } //选择博客集合 $blogs_collection = $mongo_db->selectCollection("blogs"); //添加博客 $blog = array( "title" => "MongoDB Tutorial", "content" => "This is a tutorial for MongoDB database" ); $blogs_collection->insert($blog); //查询博客列表 $cursor = $blogs_collection->find(); foreach($cursor as $blog) { echo $blog["title"] . " - " . $blog["content"] . "<br/>"; } //编辑博客 $criteria = array("title" => "MongoDB Tutorial"); $newdata = array('$set' => array("content" => "This is an updated tutorial")); $blogs_collection->update($criteria, $newdata, array("multiple" => true)); //删除博客 $criteria = array("title" => "MongoDB Tutorial"); $blogs_collection->remove($criteria); ?>
Antaranya, $username dan $password ialah nama pengguna dan kata laluan pentadbir, $users_collection ialah objek koleksi pengguna, dan $role ialah peranan pengguna.
3 Ringkasan
Artikel ini memperkenalkan secara terperinci operasi asas melaksanakan pangkalan data NoSQL menggunakan PHP dan MongoDB, dan menunjukkan cara memenuhi keperluan pengguna yang berbeza melalui contoh. Gabungan PHP dan MongoDB boleh menyediakan penyelesaian penyimpanan data yang cekap dan berskala untuk bidang pembangunan seperti aplikasi web, aplikasi mudah alih dan peranti Internet of Things.
Atas ialah kandungan terperinci Gunakan PHP dan MongoDB untuk melaksanakan pangkalan data NoSQL untuk memenuhi keperluan pengguna yang berbeza. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Dalam Php8, ungkapan perlawanan adalah struktur kawalan baru yang mengembalikan hasil yang berbeza berdasarkan nilai ungkapan. 1) Ia sama dengan pernyataan suis, tetapi mengembalikan nilai dan bukannya blok pernyataan pelaksanaan. 2) Ekspresi perlawanan secara ketat (===), yang meningkatkan keselamatan. 3) Ia mengelakkan kemungkinan ketinggalan dalam penyataan suis dan meningkatkan kesederhanaan dan kebolehbacaan kod.

Dalam PHP, anda boleh mencegah serangan CSRF dengan menggunakan token yang tidak dapat diramalkan. Kaedah khusus termasuk: 1. Menjana dan membenamkan token CSRF dalam bentuk; 2. Sahkan kesahihan token semasa memproses permintaan.

Dalam PHP, kata kunci akhir digunakan untuk mencegah kelas daripada diwarisi dan kaedah ditimpa. 1) Apabila menandakan kelas sebagai muktamad, kelas tidak boleh diwarisi. 2) Apabila menandakan kaedah sebagai muktamad, kaedah itu tidak boleh ditulis semula oleh subkelas. Menggunakan kata kunci akhir memastikan kestabilan dan keselamatan kod anda.

Pengendali ... (Splat) dalam PHP digunakan untuk membongkar parameter fungsi dan tatasusunan, meningkatkan kesederhanaan dan kecekapan kod. 1) Parameter Fungsi Membongkar: Lulus elemen array sebagai parameter ke fungsi. 2) Array Unpacking: Buka array ke array lain atau sebagai parameter fungsi.

Jenis yang ketat dalam PHP didayakan dengan menambah mengisytiharkan (strict_types = 1); di bahagian atas fail. 1) Ia memaksa jenis pemeriksaan parameter fungsi dan pulangan nilai untuk mengelakkan penukaran jenis tersirat. 2) Menggunakan jenis yang ketat dapat meningkatkan kebolehpercayaan dan kebolehprediksi kod, mengurangkan pepijat, dan meningkatkan kebolehkerjaan dan kebolehbacaan.

Komposer adalah alat pengurusan ketergantungan untuk PHP. Langkah-langkah teras menggunakan komposer termasuk: 1) mengisytiharkan kebergantungan dalam komposer.json, seperti "jalur/jalur-php": "^7.0"; 2) Jalankan ComposerInstall untuk memuat turun dan mengkonfigurasi kebergantungan; 3) Menguruskan versi dan autoload melalui komposer.lock dan autoload.php. Komposer memudahkan pengurusan pergantungan dan meningkatkan kecekapan projek dan penyelenggaraan.

Masa depan PHP akan dicapai dengan menyesuaikan diri dengan trend teknologi baru dan memperkenalkan ciri -ciri inovatif: 1) menyesuaikan diri dengan pengkomputeran awan, kontena dan seni bina microservice, menyokong Docker dan Kubernetes; 2) memperkenalkan pengkompil JIT dan jenis penghitungan untuk meningkatkan prestasi dan kecekapan pemprosesan data; 3) Berterusan mengoptimumkan prestasi dan mempromosikan amalan terbaik.
