使用php获取基于“的记录”_id";来自mongo db

使用php获取基于“的记录”_id";来自mongo db,php,mongodb,Php,Mongodb,我正在尝试使用php从mongo db获取一条记录。我正在尝试使用mongo集合中的_id字段访问该记录。但是我无法获取相应的记录,我只得到null。这是我正在使用的代码 $db = $this->Generalmodel->connect(); $collection = $db->listing; $cursor = $collection->findOne(array("_id"=>$id)); var_dump($cursor); 我也尝试了以下方法,但

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

$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)

我在这里遗漏了什么吗?

数组(''u id'=>新MongoID($id))

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