Bagaimana untuk melaksanakan operasi pangkalan data bukan hubungan menggunakan PHP dan MongoDB

王林
Lepaskan: 2023-06-25 10:38:01
asal
1265 orang telah melayarinya

Dengan pembangunan Internet, jumlah data telah meningkat secara mendadak, dan pangkalan data hubungan tradisional tidak lagi dapat memenuhi sepenuhnya keperluan pemprosesan data. Sebagai teknologi pangkalan data baharu, pangkalan data bukan perhubungan (NoSQL) boleh mengendalikan data besar-besaran dan situasi capaian serentak yang tinggi dengan lebih baik. Antaranya, MongoDB, sebagai salah satu wakil Nosql, menyokong skema data dinamik, berskala tinggi, ketersediaan tinggi dan prestasi tinggi, dan amat sesuai untuk model pembangunan berorientasikan objek. Artikel ini akan memperkenalkan cara menggunakan PHP dan MongoDB untuk melaksanakan operasi pangkalan data bukan perhubungan.

1. Pasang sambungan MongoDB dan PHP

Sebelum menggunakan MongoDB, anda perlu memasang perkhidmatan MongoDB dan sambungan PHP yang sepadan. Untuk pemasangan MongoDB, sila rujuk dokumentasi rasmi dan tidak akan pergi ke butiran di sini. Anda boleh memasang sambungan PHP melalui langkah berikut:

  1. Muat turun sambungan PHP: Muat turun kod sumber versi sambungan MongoDB yang sepadan (https://pecl.php.net/package/mongodb) daripada pegawai PECL laman web dan nyahzipnya.
  2. Kompilasi sambungan PHP: Masukkan folder kod sumber dalam baris arahan dan laksanakan arahan berikut:

    phpize
    ./configure
    make
    make install
    Salin selepas log masuk
  3. Konfigurasikan fail php.ini: Cari fail php.ini dan tambah kandungan berikut:

    extension=mongodb.so
    Salin selepas log masuk
  4. Mulakan Semula Perkhidmatan PHP: Mulakan semula perkhidmatan PHP untuk menjadikan konfigurasi berkuat kuasa Kaedah arahan berbeza mengikut sistem yang berbeza, seperti:

    systemctl restart php-fpm
    Salin selepas log masuk

2. Sambung ke pangkalan data MongoDB

Untuk menyambung ke pangkalan data MongoDB, anda. perlu menggunakan pemacu PHP yang disediakan oleh MongoDB Operasi khusus adalah seperti berikut:

  1. Buat sambungan: Gunakan kelas MongoClient untuk membuat sambungan Parameter pembinanya ialah alamat IP dan nombor port perkhidmatan MongoDB .

    $client = new MongoClient("mongodb://127.0.0.1:27017");
    Salin selepas log masuk
  2. Pilih pangkalan data: Gunakan kaedah selectDB untuk memilih pangkalan data untuk beroperasi.

    $db = $client->selectDB('test');
    Salin selepas log masuk

3. Masukkan data

MongoDB menyokong storan data dalam format JSON, jadi memasukkan data boleh menukar data ke dalam format JSON. Operasi khusus adalah seperti berikut:

  1. Buat dokumen: Gunakan kelas dokumen MongoDB MongoDBBSONDocument untuk mencipta objek dokumen.

    $doc = new MongoDBBSONDocument([
        'name' => '张三',
        'age' => 20,
        'sex' => '男',
        'address' => '北京市',
    ]);
    Salin selepas log masuk
  2. Sisipkan data: Gunakan kaedah insertOne kelas pengumpulan MongoDB MongoCollection untuk memasukkan data.

    $collection = $db->selectCollection('users');
    $collection->insertOne($doc);
    Salin selepas log masuk

4. Data pertanyaan

MongoDB menyokong pelbagai operasi pertanyaan dan pengagregatan yang berkuasa Operasi khusus adalah seperti berikut:

  1. Dokumen pertanyaan: Gunakan kaedah cari untuk membuat pertanyaan dokumen. keadaan pertanyaan, dan yang kedua Setiap parameter adalah pilihan, seperti menanyakan medan tertentu, pengisihan, dsb.

    $collection = $db->selectCollection('users');
    $cursor = $collection->find([
        'age' => ['$gt' => 18]
    ], [
        'projection' => ['name' => 1, 'age' => 1],
        'sort' => ['age' => 1],
    ]);
    foreach ($cursor as $doc) {
        echo $doc['name'] . ' ' . $doc['age'] . "
    ";
    }
    Salin selepas log masuk
  2. Pengendalian pengagregatan: Gunakan kaedah pengagregatan, seperti kaedah agregat, untuk melaksanakan pengiraan pengagregatan berbilang peringkat untuk mencapai keperluan pertanyaan yang kompleks.

    $collection = $db->selectCollection('users');
    $cursor = $collection->aggregate([
        ['$match' => ['age' => ['$gt' => 18]]],
        ['$group' => [
            '_id' => '$sex',
            'count' => ['$sum' => 1]
        ]],
        ['$sort' => ['count' => -1]],
    ]);
    foreach ($cursor as $doc) {
        echo $doc['_id'] . ' ' . $doc['count'] . "
    ";
    }
    Salin selepas log masuk

5. Kemas kini dan padam data

MongoDB menyokong operasi kemas kini dan pemadaman tunggal dan kelompok Operasi khusus adalah seperti berikut:

  1. Kemas kini tunggal: Gunakan kaedah kemas kini Satu bahagian untuk mengemas kini satu data. parameter pertama ialah syarat pertanyaan, Parameter kedua ialah data yang akan dikemas kini.

    $collection = $db->selectCollection('users');
    $collection->updateOne(
        ['name' => '张三'],
        ['$set' => ['age' => 21]]
    );
    Salin selepas log masuk
  2. Berbilang kemas kini: Gunakan kaedah kemas kiniMany untuk mengemas kini data dalam kelompok.

    $collection = $db->selectCollection('users');
    $collection->updateMany(
        ['sex' => '男'],
        ['$inc' => ['age' => 1]]
    );
    Salin selepas log masuk
  3. Pemadaman tunggal: Gunakan kaedah deleteOne untuk memadamkan sekeping data, dengan parameter pertama ialah syarat pertanyaan.

    $collection = $db->selectCollection('users');
    $collection->deleteOne(['name' => '张三']);
    Salin selepas log masuk
  4. Pemadaman berbilang: Gunakan kaedah deleteMany untuk memadam data dalam kelompok.

    $collection = $db->selectCollection('users');
    $collection->deleteMany(['sex' => '男']);
    Salin selepas log masuk

6. Ringkasan

Di atas adalah pengenalan asas untuk menggunakan PHP dan MongoDB untuk melaksanakan operasi pangkalan data bukan perkaitan Kaedah pelaksanaan khusus senario perniagaan yang berbeza mungkin berbeza, dan pembaca boleh menyesuaikan dan mengembangkan mengikut keadaan sebenar. MongoDB menyediakan API operasi yang kaya dan kaedah pengagregatan untuk memenuhi keperluan perniagaan yang kompleks dengan lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan operasi pangkalan data bukan hubungan menggunakan PHP dan MongoDB. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!