php - MongoDB PHP 错误:警告:未定义属性:MongoDB\Driver\Manager
问题描述
我正在尝试使用此堆栈溢出中的建议在我的本地计算机上使用 MongoDB 。我在 Windows 10、php 版本 8.01 和 MongoDB 扩展 1.9.0 上使用 XAMPP。
这是一个连接到 MongoDB 并尝试使用其中一个数据库的非常基本的脚本。
但我仍然收到此警告:
Connection to database successfully
Warning: Undefined property: MongoDB\Driver\Manager::$aws_inventories in C:\xampp\htdocs\mongo_connect.php on line 8
这是我的代码:
<?php
require 'C:\xampp\htdocs\vendor\autoload.php'; // include Composer's autoloader
$DB_CONNECTION_STRING="mongodb://localhost:27017";
// connect to mongodb
$m = new MongoDB\Driver\Manager( $DB_CONNECTION_STRING );
echo "Connection to database successfully";
// select a database
$db = $m->aws_inventories;
?>
如何摆脱警告并正确连接到数据库?
解决方案
$m->aws_inventories
这看起来像是较旧/已弃用的方法。您可以尝试按照本教程进行操作吗?
https://zetcode.com/db/mongodbphp/
<?php
try {
$mng = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$stats = new MongoDB\Driver\Command(["dbstats" => 1]);
$res = $mng->executeCommand("aws_inventories", $stats);
$stats = current($res->toArray());
print_r($stats);
} catch (MongoDB\Driver\Exception\Exception $e) {
$filename = basename(__FILE__);
echo "The $filename script has experienced an error.\n";
echo "It failed with the following exception:\n";
echo "Exception:", $e->getMessage(), "\n";
echo "In file:", $e->getFile(), "\n";
echo "On line:", $e->getLine(), "\n";
}
?>
推荐阅读
- typescript - Typescript:如何通过高级类型将类型数组映射到不同的参数?
- python - 如何使用 np.vectorize?
- javascript - 没有托管的 Webpack 5 模块联合
- python - PyCharm python文件只包含一行而不是普通编辑器
- c++ - 将节点添加到 bst 会导致值未定义
- elasticsearch - 使用 REST 搜索多个值
- python - 我似乎无法在输入框中输入
- python - 如果我不使用 Generator 或 RandomState,如何在 Numpy 中生成随机数?
- python - 功能无法构建并出现错误我不明白
- python - 获取要与 Gtk 和 python 一起使用的进程的图标(如在 gnome-system-monitor 中)