按引用的嵌入文档过滤

时间:2013-01-27 20:41:53

标签: php mongodb doctrine

我需要通过嵌入文档Map中的属性进行过滤,问题是它被引用。

游戏 - >结构

"_id" : ObjectId( "51051e7d8ead0ebd4e000000" ),
  "active" : true,
  "created" : 1359289981,
  "difficulty" : 0,
  "map" : { "$ref" : "Map",
    "$id" : ObjectId( "5103c0228ead0e3764000000" ),
    "$db" : "fantasytd" },
  "mode" : "coop",

使用未引用的嵌入文档,这就足够了

$q->field('map.playerLimit')->equals($playerLimit);

我尝试使用

$ Q->字段( '映射') - >素()

但没有运气,这样做的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

没办法。在标准方式中,您可以按地图过滤集合。$ ref / map。$ id / map。$ db,其中map。$ id查询非常有用。通过引用文档的其他属性进行过滤是另一回事。也许你可以保存DBRef中的intersted属性并正常查询它,你不应该这样做,并且在以后的某个版本中它将不起作用。