我需要通过嵌入文档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->字段( '映射') - >素()
但没有运气,这样做的正确方法是什么?
答案 0 :(得分:1)
没办法。在标准方式中,您可以按地图过滤集合。$ ref / map。$ id / map。$ db,其中map。$ id查询非常有用。通过引用文档的其他属性进行过滤是另一回事。也许你可以保存DBRef中的intersted属性并正常查询它,你不应该这样做,并且在以后的某个版本中它将不起作用。