Mongodb 简单的条令查询不起作用

Mongodb 简单的条令查询不起作用,mongodb,doctrine-orm,mongodb-php,Mongodb,Doctrine Orm,Mongodb Php,我的文件: { "_id": ObjectId("50935e14253b4a2f18000000"), "discussion_id"▼: ObjectId("50831606253b4ac409000002"), "author": { "userId": NumberInt(1), "name": "jini" }, "text": "50831606253b4ac409000002", "createdAt": ISODate("2

我的文件:

{
   "_id": ObjectId("50935e14253b4a2f18000000"),
   "discussion_id"▼: ObjectId("50831606253b4ac409000002"),
   "author": {
     "userId": NumberInt(1),
     "name": "jini" 
  },
   "text": "50831606253b4ac409000002",
   "createdAt": ISODate("2012-11-02T05: 45: 56.0Z") 
}
我的PHP代码:

  //DOES NOT GET ANY RESULTS
$discussionId = "50831606253b4ac409000002";
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$query = $dm->createQueryBuilder('MainClassifiedBundle:Discussion')
->field('discussion_id')->equals($discussionId);
但这样做效果很好:

$discussionId = "50935e14253b4a2f18000000";
$dm = $this->get('doctrine.odm.mongodb.document_manager');
$query = $dm->createQueryBuilder('MainClassifiedBundle:Discussion')
->field('id')->equals($discussionId);

我没有得到任何结果。但是当我查询id时,我会得到结果。为什么?

因为讨论id在PHP中是一个
MongoId
,所以用
new MongoId($discussionId)
抱歉,但是你能举一个例子吗……抱歉。
$query=$dm->createQueryBuilder('main classifiedbundle:discussion')->字段('discussion\id')->等于(new MongoId($discussionId))像那样,我也不确定这是如何做到的:
$query=$dm->createQueryBuilder('mainSclassifiedBundle:Discussion')->field('id')->等于($discussionId)
可以得到结果,您没有名为
id
的字段,我猜驱动程序已经在
id
字段上为您完成了这项工作,但您必须自己处理其他字段的问题。