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ạ objectClient
đã đượ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 ở trongdatabase
.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!
0 Comments