【问题标题】:using php to fetch a record based on "_id" from mongo db使用php从mongo db中获取基于“_id”的记录
【发布时间】:2012-01-29 23:11:30
【问题描述】:

我正在尝试使用 php 从 mongo db 获取记录。我正在尝试使用 mongo 集合中的 _id 字段来访问记录。但我无法获取相应的记录,我只会得到空值。这是我正在使用的代码。

$db =  $this->Generalmodel->connect();
$collection = $db->listing;
$cursor = $collection->findOne(array("_id"=>$id));
var_dump($cursor);

我也试过了,也没有用

$collection = $db->listing;
$cursor = $collection->find(array( '$and' => array( array('_id' => $id), array('blocked' => "0"))));
foreach ($cursor as $obj)
var_dump($obj)

我错过了什么吗?

【问题讨论】:

  • 这是我从会话中获取的值。基本上它是由 mongo 生成的 _id,从我使用它来选择有关单个实体的详细信息的实体列表中
  • 我的意思是,它是什么类型的?实际的 ObjectId,还是转换为字符串?
  • 它是一个字符串。在将其存储在会话中时,它会存储为字符串
  • 好吧,然后将其转换回ObjectId。这就是找不到记录的原因。

标签: php mongodb


【解决方案1】:

array('_id' => new MongoID($id))

【讨论】:

  • 在@Sergei Tulentsev 这么说之后发现了这个
猜你喜欢
  • 2014-10-02
  • 1970-01-01
  • 1970-01-01
  • 2019-09-14
  • 2021-01-23
  • 2021-03-21
  • 2012-03-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多