0

私はモルヒネを使用しています。簡単な検索で知っているように、私はこれを使用できます:

q.field("fieldname").containsIgnoreCase(texttosearch); 

しかし、私のフィールドタイプはマップです。だから私はそれを次のように変更する必要があります(ドットを使用):

q.field("mapname.fieldname").containsIgnoreCase(texttosearch);

しかし、もう一度、すべてのフィールドで検索したいと思います。すべてのフィールドで繰り返すことで、これを簡単に行うことができます。問題は、フィールド数が静的ではないことです。どうすればこれを解決できますか?

4

1 に答える 1

3

マップとしてではなく、キーと値のペアの配列/リストとして保存する必要があります。次に、キーフィールドを検索し、インデックスを作成できます。これは、現時点ではmorphiaが行うことではありませんが、Mapの代替ストレージ形式になる可能性があります。それは非常に異なるフォーマットになります。

詳細については、このディスカッションをご覧ください

于 2012-02-22T23:21:35.617 に答える