Toidicode.com

Toidicode.com

BASIC TO ADVANCE

Bài 4: Truy xuất collection trong MongoDB bằng PHP

Bài trước, mình đã giới thiệu với mọi người cách truy xuất database trong MongoDB sử dụng PHP rồi. Và sau khi mọi người đã biết các truy xuất datatabase thì bài này mình sẽ tiếp tục giới thiệu với mọi người cách truy xuất đến các collection trong database.

1, Select Collection.

Để select đến một collection trong Database của MongoDB các bạn sử dụng phương thức selectCollection() trong class Client với cú pháp như sau:

$conn->selectCollection(database, collection, options);

Trong đó:

  • $conn là biến ánh xạ object Client đã được khởi tạo.
  • database là tên database mà bạn muốn select.
  • collection là tên của collection mà bạn muốn selection ở trong database.
  • options là mảng chứa các thông số cấu hình như: readConcern, typemap,... 

 VD: Mình sẽ select collection posts trong database tuts.

<?php
use MongoDB\Client;

require_once "vendor/autoload.php";

// khoi tao class Client
$conn = new Client("mongodb://127.0.0.1:27017");

$collection = $conn->selectCollection('tuts', 'posts');

Hoặc bạn cũng có thể sử dụng phương thức sectionCollection() nhưng lúc này là bạn đã select đến database rồi.

VD: Mình sẽ select collection posts trong database tuts sử dụng phương thức selectCollection(), nhưng lúc này là đã select database từ trước rồi.

<?php
use MongoDB\Client;

require_once "vendor/autoload.php";

// khoi tao class Client
$conn = new Client("mongodb://127.0.0.1:27017");

//select database
$db = $conn->tuts;

//selection collection
$collection = $db->selectCollection('posts');

Hoặc bạn cũng có thể select collection thông qua magic method __get() trong class Client.

VD: Mình sẽ select đến collection posts trong database tuts thông qua magic method __get().

<?php
use MongoDB\Client;

require_once "vendor/autoload.php";

// khoi tao class Client
$conn = new Client("mongodb://127.0.0.1:27017");

$collection = $conn->tuts->posts;

2, Hiển thị tất cả các collection.

Để có thể xem tất cả các collection đang có trong database các bạn sử dụng phương thức listcollections() theo cú pháp sau:

$db->listCollections();

Trong đó, $db là biến ánh xạ class Client chứa database.

VD: Mình sẽ show hết các collection đang tồn tại trong database tuts trên máy mình.

$conn = new Client("mongodb://127.0.0.1:27017");

//select database
$db = $conn->tuts;

//Hiển thị các collection
$result = $db->listCollections();

foreach ($result as $item) {
    var_dump($item->getName());
}

Kết quả:

string(10) "categories"
string(5) "posts"

3, Xóa collection.

Để xóa một collection khỏi database bạn chỉ cần thực hiện phương thức dropcollection() với cú pháp như sau:

$db->dropCollection(name, options);

Trong đó:

  • $db là biến ánh xạ class Client chứa database.
  • name là tên của collection mà bạn muốn xóa.
  • options là mảng chứa các tham số tùy chỉnh như: typeMap, writeConcern.

VD: Mình sẽ thực hiện xóa collection posts trong database tuts trên máy của mình.

<?php
use MongoDB\Client;

require_once "vendor/autoload.php";

// khoi tao class Client
$conn = new Client("mongodb://127.0.0.1:27017");

//select database
$db = $conn->tuts;

//xóa collection
$result = $db->dropCollection('posts');

var_dump($result);

Kết quả trả về:

object(MongoDB\Model\BSONDocument)#14 (1) {
  ["storage":"ArrayObject":private]=>
  array(3) {
    ["ns"]=>
    string(10) "tuts.posts"
    ["nIndexesWas"]=>
    int(1)
    ["ok"]=>
    float(1)
  }
}
Đăng ký nhận tin.

Chúng tôi chỉ gửi tối đa 2 lần trên 1 tháng. Tuyên bố không spam mail!

Vũ Thanh Tài

About author
The best way to learn is to share
Xem tất cả bài đăng

0 Comments

Bài viết chưa có ai bình luận, hãy là người đầu tiên đi bạn!

Bình luận

Captcha