Php mongodb pdo
Thư viện PHP MongoDB và tiện ích mở rộng mongodb cơ bản có sự khác biệt đáng chú ý về API so với tiện ích mở rộng array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }1 kế thừa. Trang này sẽ tóm tắt những khác biệt đó vì lợi ích của việc nâng cấp từ trình điều khiển cũ Show Ngoài ra, còn tồn tại một thư viện mongo-php-adapter do cộng đồng phát triển, triển khai API tiện ích mở rộng array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }1 bằng thư viện này và trình điều khiển mới. Mặc dù thư viện bộ điều hợp này không được MongoDB hỗ trợ chính thức, nhưng nó cần đề cập đến BSONloại lớp họcKhi nâng cấp từ trình điều khiển cũ, các lớp loại như MongoId phải được thay thế bằng các lớp trong không gian tên MongoDB\BSON. Trình điều khiển mới cũng giới thiệu các giao diện cho các loại BSON của nó, nên được ưu tiên nếu các ứng dụng cần nhập gợi ý đối với các giá trị BSON Bảng sau liệt kê tất cả các lớp kế thừa cùng với lớp tương đương trong trình điều khiển mới Lớp kế thừa Lớp loại BSON Giao diện loại BSONMongoIdMongoDB\BSON\ObjectIdMongoDB\BSON\ObjectIdInterfaceMongoCodeMongoDB\BSON\JavascriptMongoDB\BSON\JavascriptInterfaceMongoDateMongoDB\BSON\UTCDateTimeMongoDB\BSON\UTCDateTimeInterfaceMongoRegexMongoDB\BSON\RegexMongoDB\BSON\RegexInterfacearyMongoBinDataInterfaceMongoDB\BSONDB\BSON\Không triển khai. [1] MongoInt64MongoDB\BSON\Int64Chưa triển khai. [2]MongoDBRefChưa triển khai. [3] MongoMinKeyMongoDB\BSON\MinKeyMongoDB\BSON\MinKeyInterfaceMongoMaxKeyMongoDB\BSON\MaxKeyMongoDB\BSON\MaxKeyInterfaceMongoTimestampMongoDB\BSON\TimestampMongoDB\BSON\TimestampInterface[1]Trình điều khiển mới không triển khai lớp tương đương cho MongoInt32. Khi giải mã BSON, số nguyên 32 bit sẽ luôn được biểu diễn dưới dạng số nguyên PHP. Khi mã hóa BSON, các số nguyên PHP sẽ mã hóa dưới dạng số nguyên 32 bit hoặc 64 bit tùy thuộc vào giá trị của chúng. [2]MongoDB\BSON\Int64 không có giao diện được xác định. Trình điều khiển mới không cho phép các ứng dụng khởi tạo loại này (i. e. hàm tạo của nó là riêng tư) và nó chỉ được tạo trong quá trình giải mã BSON khi số nguyên 64 bit không thể được biểu diễn dưới dạng số nguyên PHP trên nền tảng 32 bit. [3](1, 2, 3) Trình điều khiển mới không triển khai lớp tương đương cho MongoDBRef vì DBRef chỉ là một tài liệu BSON có cấu trúc cụ thể và không phải là loại BSON thích hợp. Trình điều khiển mới cũng không cung cấp bất kỳ trợ giúp nào để làm việc với các đối tượng DBRef, vì việc sử dụng chúng không được khuyến khíchGiả lập trình điều khiển kế thừaTiện ích mở rộng kế thừa array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }1 đã trả về cả tài liệu và mảng BSON dưới dạng mảng PHP. Mặc dù các mảng PHP thuận tiện để làm việc, nhưng hành vi này có vấn đề
Các lớp array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }6 và array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }7 của Thư viện PHP MongoDB giải quyết những lo ngại này bằng cách lưu giữ thông tin loại BSON trong quá trình tuần tự hóa và giải tuần tự hóa; . Nếu muốn, bạn có thể sử dụng tùy chọn array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }0 để thư viện trả về mọi thứ dưới dạng một mảng PHP sao chép
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
Ví dụ trên sẽ xuất ra một cái gì đó tương tự như sao chép array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" } API bộ sưu tậpLớp array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }1 của thư viện này triển khai các thông số kỹ thuật Quản lý chỉ mục và CRUD trình điều khiển chéo của MongoDB. Mặc dù một số tên phương thức đã thay đổi theo thông số kỹ thuật mới, lớp mới cung cấp chức năng giống như lớp MongoCollection của trình điều khiển cũ với một số ngoại lệ đáng chú ý Một nguyên tắc hướng dẫn trong việc thiết kế các API mới là các tên phương thức rõ ràng sẽ thích hợp hơn các thuật ngữ quá tải được tìm thấy trong API cũ. Chẳng hạn, array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }2 và array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }3 có các chế độ hoạt động khác nhau, tùy thuộc vào đối số của chúng. Các phương thức cũng được phân chia để phân biệt giữa việc cập nhật các trường cụ thể và thay thế toàn bộ tài liệu Bảng sau đây liệt kê tất cả các phương thức cũ cùng với (các) phương thức tương đương trong trình điều khiển mới MongoCollection methodarray(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }1 method array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }5 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }6 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }7 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }6 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }9
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
20
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
21
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
22
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
23Chưa triển khai. [3]
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
24
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
25
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
26
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
27
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
28
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
29array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }10 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }11 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }12 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }13 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }14
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
25array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }16 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }17 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }3 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }19, array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }10, and array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }11 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }12 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }13 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }14Not implemented. [3] array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }15 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }16 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }17 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }18 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }19 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }10 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }11Not implemented. array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }12 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }13 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }14Chưa thực hiện. Sử dụng array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }15. Xem Trợ giúp lệnh nhóm để biết ví dụ. array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }16______317 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }18Chưa thực hiện. array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }19 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }40 và array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }41 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }2 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }17 hoặc array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }44 với tùy chọn array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }45. array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }46Chưa triển khai. Sử dụng array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }47. array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }48Chưa triển khai. array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }49Chưa thực hiện. Sử dụng array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }47. array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }51 array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }44, array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }53 và array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }54. array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }55Chưa triển khai. Truy cập ID của tài liệu đã chènTrong trình điều khiển kế thừa, array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }16, array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }9 và array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }2 (khi chèn) sẽ sửa đổi đối số đầu vào của chúng bằng cách thêm một khóa array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }59 với một ObjectId được tạo (i. e. đối tượng MongoId). Hành vi này là một chút hack, vì nó không dựa vào đối số được chuyển qua tham chiếu; . Như vậy, nó không còn được thực hiện trong trình điều khiển và thư viện mới ID của tài liệu được chèn (dù được tạo hay không) có thể được truy cập thông qua các phương pháp sau trên các đối tượng kết quả ghi
Thao tác ghi hàng loạtCác lớp MongoWriteBatch của trình điều khiển kế thừa đã được thay thế bằng phương thức array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }65 có mục đích chung. Trong khi trình điều khiển kế thừa chỉ cho phép các hoạt động hàng loạt cùng loại, thì phương pháp mới cho phép các hoạt động được trộn lẫn (e. g. chèn, cập nhật và xóa) Bộ sưu tập Mongo. lưu () Đã xóaarray(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }2, vốn là đường cú pháp cho thao tác chèn hoặc đảo ngược, đã bị xóa để sử dụng rõ ràng array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }17 hoặc array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }44 (với tùy chọn array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }45) Mặc dù phương thức array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }71 có sử dụng cho các môi trường tương tác, chẳng hạn như trình bao array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }1, nhưng nó đã bị loại trừ một cách có chủ ý khỏi đặc tả CRUD cho trình điều khiển ngôn ngữ. Nói chung, mã ứng dụng phải biết liệu tài liệu có mã định danh hay không và có thể chèn hoặc thay thế tài liệu một cách rõ ràng và xử lý tương ứng là array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }73 hoặc array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }74 được trả về. Điều này cũng giúp tránh việc thay thế toàn bộ tài liệu vô ý và có khả năng gây nguy hiểm Trình trợ giúp chỉ huy nhómarray(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }1 không có phương thức trợ giúp cho lệnh nhóm. Ví dụ sau minh họa cách thực thi lệnh nhóm bằng phương thức array(5) { ["_id"]=> string(5) "94301" ["city"]=> string(9) "PALO ALTO" ["loc"]=> array(2) { [0]=> float(-122.149685) [1]=> float(37.444324) } ["pop"]=> int(15965) ["state"]=> string(2) "CA" }15 sao chép
$client = new MongoDB\Client(
'mongodb://127.0.0.1/',
[],
[
'typeMap' => [
'array' => 'array',
'document' => 'array',
'root' => 'array',
],
]
);
$document = $client->test->zips->findOne(['_id' => '94301']);
var_dump($document);
2← API ổn định Tham chiếu → © MongoDB, Inc 2008-nay. MongoDB, Mongo và logo chiếc lá là các nhãn hiệu đã đăng ký của MongoDB, Inc |