【发布时间】:2013-06-25 23:29:30
【问题描述】:
我正在为 MongoDB 学习 Doctrine 2 ODM,并且有一个直截了当的问题,我无法在 Doctrines 文档或谷歌上找到答案。
假设我在同一个集合中有以下两个文档
{ "_id" : ObjectId("51c8a962f6d6ace76b374219"),
"X" : 26,
"Name" : "some name",
"Level" : "Common"
}
{
"_id" : ObjectId("51c8a9bef6d6ace76b37421a"),
"Y" : 1,
"Name" : "Other name",
"Level" : "Common"
}
我知道我可以找到所有具有 Level : Common using 的文档
$dm->getRepository('Search\Model')->findBy(array("Level" => "Common"));
但是我怎样才能找到字段类型为“X”而不是“Y”的所有文档? 我知道我可以全部返回并将其过滤掉,但我应该能够查询这个吗? 因为字段类型 X 和 Y 不同,它们应该在单独的集合中吗?
我还尝试过使用 Doctrine 文档中的查询生成器进行的各种查询,但没有运气。
我真的希望能够返回该集合中只有“X”的所有文档。
非常感谢
【问题讨论】:
标签: php mongodb doctrine-orm