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