0

私はmongodbを初めて使用し、単純な(またはそうでない)問題に悩まされています:

次のようなタグ付けされた製品のコレクションがあります。

{ "_id": "1", "tags": { "shape" : [ "shape1","shape2" ], "color": [ "col1","col2" ] },
{ "_id": "2", "tags": { "shape" : [ "shape3","shape4" ], "color": [ "col3","col4" ] },
{ "_id": "3", "tags": { "otherCategory" : [ "value1" ], "color": [ "col5","col6" ] }

このコレクションからすべての個別のカテゴリを選択して、次の結果を得たいと考えています。

[ "shape", "OtherCategory" ]

どうすればこれを達成できますか? 今のところ、私の唯一のオプションは、すべてのタグを見つけてJavaクライアントで手動で解析することです...悪いようです;-)

Java Spring クライアントから mongodb にクエリを実行します。

ご協力いただきありがとうございます。

4

1 に答える 1

1

わかりましたので、モデルをリファクタリングすることになりました。コンスタンティンが言ったように、Map/reduce を行わずにドキュメントの内容に対してクエリを実行するのは簡単ではないようです。

この問題を解決するために、カテゴリの新しいコレクションを作成して、簡単に選択できるようにしました。このコレクションは、製品が挿入されるときに設定されます。

于 2013-05-21T09:28:53.053 に答える