Hướng dẫn class mongodbbsonobjectid not found - không tìm thấy lớp mongodbbsonobjectid

Tôi đang sử dụng Ubuntu 18.04.2 lts và máy chủ của tôi là nginx. Tôi đang nhận được lỗi dưới đây.

FatalThrowableError in ReportFileController.php line 906: Class 'MongoDB\BSON\ObjectId' not found

Dòng 906 là: '$id' => new ObjectId(request('patient_id'))
'$id' => new ObjectId(request('patient_id'))

FYI, tôi đã cài đặt php-mongodb và thêm Extension = MongoDB.so trong tệp /cli/php.ini và khởi động lại nginx.

Ai đó làm ơn giúp tôi với?

Tôi đã cố gắng tạo kết nối Mongo mới thực hiện mã sau

$m = new MongoDB\Client();

Và tôi đã gặp lỗi này:

Lỗi nghiêm trọng: Không tìm thấy lỗi của Class 'MongoDB \ \'

Tôi nghĩ rằng tôi đã cài đặt đúng tiện ích mở rộng MongoDB (đã sao chép php_mongodb.dll để thư mục ext và cập nhật php.ini với tiện ích mở rộng = php_mongodb.dll).

Mã sau xác nhận nó được tải:

echo extension_loaded("mongodb") ? "loaded\n" : "not loaded\n";

Tôi vẫn nhận được cùng một lỗi.

Đây là phpinfo ()

Tôi đánh giá cao tất cả sự giúp đỡ của bạn. Cảm ơn bạn!

Rỉ sét

8.09610 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng10 gold badges53 silver badges73 bronze badges

Hỏi ngày 5 tháng 12 năm 2016 lúc 10:02Dec 5, 2016 at 10:02

6

Nếu bạn đang sử dụng phần mở rộng MongoDB mới nhất của PHP, MongoDB\Driver\Manager là điểm nhập chính cho phần mở rộng.

Dưới đây là mã mẫu để truy xuất dữ liệu bằng tiện ích mở rộng mới nhất.

Giả sử bạn có bộ sưu tập testColl trong

// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
0. Bạn có thể truy xuất dữ liệu bằng lớp
// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
1 của tiện ích mở rộng.

// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());

Output:

Array
(
    [0] => stdClass Object
        (
            [_id] => MongoDB\BSON\ObjectID Object
                (
                    [oid] => 5848f1394cea9483b430d5d2
                )

            [name] => XXXX
            [age] => 30
        )

)

Đã trả lời ngày 8 tháng 12 năm 2016 lúc 5:47Dec 8, 2016 at 5:47

DIKESHDIKESHdikesh

2.7052 huy hiệu vàng16 Huy hiệu bạc25 Huy hiệu đồng2 gold badges16 silver badges25 bronze badges

2

Tôi đang sử dụng Php 7.1.9 và tôi đã gặp vấn đề này. Đã giải quyết nó bằng cách xóa và cài đặt lại

// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
2

composer remove mongodb/mongodb
composer require mongodb/mongodb

Ngoài ra, nếu bạn đang sử dụng Dreamweaver, đừng để đặt thư mục

// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
3 vào bản sao máy chủ.

Sau khi cài đặt, bây giờ tôi có thể sử dụng

// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
4.

MongoDB API Phiên bản 1.3, Phần mở rộng MongoDB 1.4

Đã trả lời ngày 28 tháng 2 năm 2018 lúc 7:15Feb 28, 2018 at 7:15

RustyrustyRusty

8.09610 Huy hiệu vàng53 Huy hiệu bạc73 Huy hiệu đồng10 gold badges53 silver badges73 bronze badges

Hỏi ngày 5 tháng 12 năm 2016 lúc 10:02

Đã trả lời ngày 5 tháng 12 năm 2016 lúc 10:09Dec 5, 2016 at 10:09

4

Chỉ là cách đơn giản để cài đặt

sudo apt-get install php-mongodb

Sau khi cài đặt Mongo

Elangovan

3.3794 Huy hiệu vàng30 Huy hiệu bạc37 Huy hiệu Đồng4 gold badges30 silver badges37 bronze badges

Đã trả lời ngày 3 tháng 7 năm 2018 lúc 9:56Jul 3, 2018 at 9:56

Khác nhau cho Apache và nginx nó xuất hiện.

Mặc dù bài đăng này đã cũ nhưng tôi giúp Migh này giúp ai đó. Gần đây tôi đã gặp phải vấn đề tương tự. Với tôi, đó là Php.ini khác nhau.

Tôi tiếp tục đặt Mongoextension vào /cli/php.ini.

Thoough khi tôi chạy

// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
5, tôi phát hiện ra rằng trong trường hợp của tôi, cấu hình được tải là trong /fpm/php.ini. Điều này là do tôi đã không ngứa với FPM.

Đã trả lời ngày 25 tháng 7 năm 2020 lúc 3:30Jul 25, 2020 at 3:30

90% thời gian đó là cấu hình mở rộng MongoDB của bạn. Vui lòng kiểm tra Php.ini

Đã trả lời ngày 22 tháng 7 năm 2020 lúc 19:48Jul 22, 2020 at 19:48

KiprutokiprutoKipruto

4514 Huy hiệu bạc13 Huy hiệu Đồng4 silver badges13 bronze badges

// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
6 hiện là tiện ích mở rộng "cấp thấp" (php_mongodb),
// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
7 đã được viết lại thành "lớp PHP" và bạn cần cài đặt thêm https://docs.mongodb.com/drivers/php/ để sử dụng kiểu cũ đẹp
// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
8low level" extension (php_mongodb),
// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
7 was rewritten to "PHP class" and you need extra install https://docs.mongodb.com/drivers/php/ to use old style nice
// Manager Class
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");

// Query Class
$query = new MongoDB\Driver\Query(array('age' => 30));

// Output of the executeQuery will be object of MongoDB\Driver\Cursor class
$cursor = $manager->executeQuery('testDb.testColl', $query);

// Convert cursor to Array and print result
print_r($cursor->toArray());
8

Đã trả lời ngày 16 tháng 6 năm 2021 lúc 22:05Jun 16, 2021 at 22:05

user956584user956584user956584

5.0112 Huy hiệu vàng38 Huy hiệu bạc47 Huy hiệu đồng2 gold badges38 silver badges47 bronze badges