当前位置: 首页 > 知识库问答 >
问题:

使用id进行Mongodb php搜索时出现错误

卢健
2023-03-14

我想使用executeQuery mongodb驱动程序php搜索_id。

这是我的用户集合的文档结构

{
    "_id" : ObjectId("55ad0bd1032e1b12088b46a8"),
    "email" : "abc@abc.com"
}

而我的php代码是

<?php
//Getting object id
$id = new MongoId("55ad0bd1032e1b12088b46a8");
//filtering 
$filter = ['_id' =>$id];

$options = [];

// Adding query
$query = new MongoDB\Driver\Query($filter, $options);

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$cursor = $manager->executeQuery('db.users', $query);

当我运行它时,我发现以下错误

PHP致命错误:未捕获异常“MongoDB\Driver\exception\ConnectionException”,在/测试中显示消息“未知运算符:$id”。php:27堆栈跟踪:0/测试。php(27):MongoDB\Driver\Manager-

有什么帮助吗?

共有1个答案

衡子琪
2023-03-14

根据@Felipe Sulser的评论

生产线

$id = new MongoId("55ad0bd1032e1b12088b46a8");

应该是

$id = new MongoDB\BSON\ObjectId("55ad0bd1032e1b12088b46a8");

现在它起作用了

 类似资料:
  • 请帮帮我,我对这个很陌生。提前谢了。

  • 我正在尝试按id搜索对象,但出现以下错误:CastError:Cast to ObjectId在路径“\u id”处的值“[object object]”失败 这是我的代码: console.log(org_id.organisation_id); 给我:5661639AFF20A5CC806D476

  • 我把所有必需的jar放在类路径中,但仍然得到以下错误: 这是我的代码片段: //错误在第1行。 > 类路径中的Jars: 蚂蚁.jar 同学-1.3.0.jar 共享资源集合-3.2.1.jar dom4j-1.6.1.jar 冬眠3.jar Hibernate注释.jar Hibernate实体管理器.jar Hibernate-搜索引擎-5.6.0.最终.jar Hibernate搜索 orm

  • 用git grep 命令查找Git库里面的某段文字是很方便的. 当然, 你也可以用unix下的'grep'命令进行搜索, 但是'git grep'命令能让你不用签出(checkout)历史文件, 就能查找它们. 例如, 你要看 git.git 这个仓库里每个使用'xmmap'函数的地方, 你可以运行下面的命令: $ git grep xmmap config.c: co

  • 全部的 我有多个XML模板,我需要填充数据,以允许我的文档生成器类使用多个模板并正确插入数据 我通过添加一个属性来指定我希望类插入数据的节点: id=“根” XML的一个例子 密码 使用以下示例:XPath按属性值选择元素 表达式不起作用: //SiebelMessage[@id='root'] 知道我做错了什么吗?

  • 我正在尝试安装yii2alpha。下载composer并添加后运行以下命令时 去composer.json. 我得到以下错误。 问题1-在任何版本中都找不到请求的包最低稳定性,包名中可能有输入错误。 问题2-在任何版本中都找不到请求的包yiisoft/yii2 composer,包名中可能有输入错误。 问题3-在任何版本中都找不到请求的包yiisoft/yii2框架,包名中可能有输入错误。 潜在原