PHP MongoDB使用MongoId对象\u id查询一条记录

PHP MongoDB使用MongoId对象\u id查询一条记录,php,mongodb,Php,Mongodb,我目前正在学习MongoDB。我看过关于查询集合中字段的教程。我想知道如何在PHP中使用MongoId对象的id值进行查询。与我的问题最接近的答案是 另外,是否有一种方法可以在创建新记录时,将对象id值记录在该记录的另一个字段中 谢谢 更新: 除了我在下面选择的答案外,一位同事也发现了这一点: 这应该会有所帮助,可以从mongodb网站()获得: 关于你问题的一部分,我不知道有任何自动方式将objectid存储在另一个字段中,但我也不知道你为什么要这样做-你已经将其存储在_id中,为什么要将其存

我目前正在学习MongoDB。我看过关于查询集合中字段的教程。我想知道如何在PHP中使用MongoId对象的id值进行查询。与我的问题最接近的答案是

另外,是否有一种方法可以在创建新记录时,将对象id值记录在该记录的另一个字段中

谢谢

更新:

除了我在下面选择的答案外,一位同事也发现了这一点:


这应该会有所帮助,可以从mongodb网站()获得:


关于你问题的一部分,我不知道有任何自动方式将objectid存储在另一个字段中,但我也不知道你为什么要这样做-你已经将其存储在_id中,为什么要将其存储在另一个字段中?

jpsf:谢谢你的回答。我的第二个问题是关于我在教程中看到的一些东西,我应该对此进行详细阐述。我同意这样做是没有必要的(只是不知道它是否使MongoDB的搜索更容易)。
// This is only a string, this is NOT a MongoId
$mongoid = '4cb4ab6d7addf98506010000';

// You will not find anything by searching by string alone
$nothing = $collection->find(array('_id' => $mongoid));
echo $nothing->count(); // This should echo 0

// THIS is how you find something by MongoId
$realmongoid = new MongoId($mongoid);

// Pass the actual instance of the MongoId object to the query
$something = $collection->find(array('_id' => $realmongoid));
echo $something->count(); // This should echo 1