使用MongoId Object _id的PHP MongoDB查询一条记录

时间:2014-05-07 16:10:26

标签: php mongodb

我目前正在学习MongoDB。我见过查询集合中字段的教程。我想知道如何使用MongoId Object _id值在PHP中查询。我问题的最接近答案是Perl Mongo find object Id

另外,有没有办法在创建新记录时,Object _id值可以记录在该记录的另一个字段中?

感谢。

更新

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

mongodb php findone() by ID

1 个答案:

答案 0 :(得分:0)

这应该有助于,从mongodb网站(http://blog.mongodb.org/post/26903435041/mongodb-for-the-php-mind-part-2):

// 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

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