问题标签 [php-mongodb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - 在 mongo db php 中更新特定的子文档
我在 mongo db 中有一个名为 EmployeeTbl 的集合,其文档如下
}
我正在尝试更新 ContactDetails 中的子文档,并且我已经编写了以下代码。它不会更新现有的。它没有更新,而是添加了新的子文档。请帮我 !!!
mongodb - 从集合中的文档中删除子文档
我正在尝试从集合中删除子文档。我试过下面的代码行
它抛出错误消息“未捕获的异常 'MongoDB\Driver\Exception\BulkWriteException' 和消息'不能使用 (ContactDetails.ContactTypeId) 的部分 (ContactTypeId) 来遍历元素”
集合中的文档就像
php - 在 OSX 上使用 Homebrew 的 PHP72 MongoDB 驱动程序
我有一个问题可能表明我对 Homebrew 对 MongoDB 的误解:
我在 Mac OSX 10.12.6 (Sierra) 上使用 PHP 7.2.1(我想使用)运行 XAMPP(版本)。我安装了 MongoDB 并创建了配置和数据存储文件夹。它在命令行上运行良好(通过终端使用 mongod 和 mongodb 时)。
现在,我想为 PHP 7.2.1 安装 PHP 驱动程序。我按照http://php.net/manual/en/mongodb.installation.homebrew.php上的说明 将它们调整为 7.2 版,因此:
这会在 /usr/local/Cellar 中创建一个 php72 和一个 php72-mongodb 文件夹。但是,我原来的(基于 XAMPP 的)PHP 位于 /Applications/XAMPP/ 中,而 php 位于 /Applications/XAMPP/etc/php.ini 中。
并简单地添加:
不会成功的。添加此扩展后,Apache 将不再启动。/Applications/XAMPP/logs/php_error.log 显示以下错误:
将我刚刚安装的驱动程序包含/连接到现有 XAMPP 安装的正确方法是什么?我是否需要以某种方式告诉 Homebrew 我的 XAMPP 安装在哪里?
鉴于我的 Homebrew(和我的 /usr/local/opt 文件夹)中还有一个 php 文件夹,这表明我现在有第二个 PHP 安装。这是应该的方式吗?
mongodb - 如何在 mongo db 中进行条件更新?
我正在尝试更新文档的子文档,如下面的代码行
我有像这样的文件
如果 $this->EmployeeStatus 包含“Joined”并且 $this->EmployeeStatusDate 包含一些不同的值,例如上面的文档它包含“2019-05-28T23:00:00.0Z”(除了以前的值),那么它应该被更新。
上面的代码插入另一个子文档,其值如下
我希望在 Joined 的情况下应该更新现有的子文档。
请帮忙!!!
php - Zesle 上的 MongoDB PHP 驱动程序
我找不到安装“MongoDB PHP”驱动程序的方法,因为我将“ZesleCP”用于我的网络托管作为控制面板。
Ubuntu 16.04.4 x64
php - php mongodb 扩展在 Windows 10 中不起作用
这些是我下载的文件。
apache==>>httpd-2.4.32-Win64-VC15 (x64 VC15)
PHP==>>php-7.2.3-Win32-VC15-x64 (x64 VC15线程安全)
php_mongodb.dll==>>php_mongodb-1.4.2-7.2-ts-vc15-x64 (x64 VC15线程安全)
我做的步骤
1.将apache解压到“C:\Apache24”
2.添加到Windows环境变量路径“C:\Apache24\bin”并作为服务安装 httpd -k install
3.解压php到“C:php”
4.将php.ini-development重命名为php.ini
5.新增线路
LoadModule php7_module "c:/php/php7apache2_4.dll"
SetHandler 应用程序/x-httpd-php
PHPIniDir "c:/php"
6.将php_mongodb.dll解压到“c:/php/ext/”
7.在 ";extension=xsl" 后面的 "c:/php/php.ini" 中添加行 "extension=php_mongodb.dll" 没有 ";"
8.将“C:\php”添加到 PATH
MongoDB shell 版本 v3.6.3
mongodb 模块未显示在 phpinfo() 中,但显示在 cli "php -m" 中
尝试了一个在我的 ubuntu 系统中完美运行的示例脚本以及使用 composer 下载的 mongo 库
我得到了一个如预期的致命错误(因为 php_mongodb 不工作)
致命错误:未捕获错误:在 C:\Apache24\htdocs\SIMS_SSS\vendor\mongodb\mongodb\src\Client.php:61 中找不到类 'MongoDB\Driver\Manager' 堆栈跟踪:#0 C:\Apache24\htdocs \SIMS_SSS\authenticate.php(4): MongoDB\Client->__construct('mongodb://local...') #1 {main} 在 C:\Apache24\htdocs\SIMS_SSS\vendor\mongodb\mongodb\第 61 行的 src\Client.php
mongodb - 搜索在 mongo db php 中不起作用
我在 mongo db 中有一个集合,例如
我正在尝试使用以下代码行搜索一个参数
它返回空数组,如“array(0) { }”。我在早期版本的 mongo db 中尝试过类似的方法,上面的查询工作正常。现在我是 mongo db 3.6,它在这个版本中不起作用。如果我在参数 searchCriteria 中给出“aa”,它就不起作用。
请帮忙!!!
php - 无法访问记录的 mongo id
我正在尝试使用以下代码行获取记录的 mongo id
游标中的结果就像
它抛出错误消息“未定义索引:_id in”
php - 在(聚合)Mongo中进行多个分组
我试图按聚合中的两个不同字段进行分组,以避免重复。我有以下情况:
在上面的示例中,我按 $field1 对它们进行分组。是否可以在同一个聚合中按 $field 2 对相同的数据进行分组?
php - 如何在MongoDB中使用聚合函数?
我已将 php5 升级到 php7。如果我使用 mongoClient 进行 mongodb 连接,则会显示错误。所以我使用了以下命令。
$manager = new MongoDB\Driver\Manager("mongodb://".MONGOHOST.":27017");
通过使用上面的命令,我可以连接数据库。现在问题是在 php5 中,我使用了聚合函数。它在 php7 中不支持。下面提到的php5中使用的代码..
用于数据库连接
$m = new MongoClient('mongodb://'.MONGOHOST.'', array('username' => MONGOUSER, 'password' => MONGOPASS, 'db'=> MONGODB ));
$db = $m->selectDB(MONGODB);
从数据库中检索值:
$reqbids = $db->requestbids->aggregate($ops);
如何做到这一点是使用 mongo 驱动程序..我搜索了 2 天,但没有找到解决方案。