0

埋め込みドキュメントマップのプロパティでフィルタリングする必要があります。問題は、それが参照されていることです。

ゲーム->構造。

"_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-> field('map')-> prime()

しかし、運が悪ければ、これを行う正しい方法は何でしょうか?

4

1 に答える 1

1

ありえない。標準的な方法では、map。$ ref/map。$id/map。$dbでコレクションをフィルタリングできます。ここで、map。$idクエリは非常に便利です。参照されるドキュメントの他のプロパティによるフィルタリングは、まったく別のことです。おそらく、interstedプロパティをDBRefに保存して、通常どおりにクエリすることができますが、そうすべきではありません。将来のバージョンでは機能しなくなります。

于 2013-01-28T09:26:09.223 に答える