1

いくつかのファイル (pdf、html、txt、doc) のメタデータを抽出し、json 形式で mongodb に保存しました。私のmongodbコレクションのサンプルドキュメントは次のとおりです

{"Author: ":null,"Title: ":"java Syllabus","File name: ":"sample.htm"}
{"Author: ":null,"Title: ":"php Syllabus","File name: ":"sample1.htm"}
{"Author: ":null,"Title: ":null,"File name: ":"sample2.pdf"}

私の要件は、ドキュメントの上記のフィールドで分類を行うことです.これは可能ですか?可能であれば、私に提案してください. ありがとう

4

1 に答える 1

2

「分類法」によって、各ドキュメントの任意のキーと値のペアを保存し、後でそれらの値でクエリを実行したいと考えていますか? MongoDB Content Taxonomy Schemaが役立つリソースになる場合があります。

要点は、トップレベルのドキュメントには、0 個以上のオブジェクトの配列を含むフィールドがあるということです。これらの各オブジェクトには、独自のフィールドにキーと値が含まれます。次に、配列内のキー/値フィールドに複合マルチキー インデックスを作成できます。複合マルチキー インデックスには複数の配列フィールドを含めることはできませんが (各配列の要素のデカルト積にインデックスを付けるとすぐに手に負えなくなる可能性があります)、この場合、同じ配列内の 2 つのフィールドにインデックスを付けています。

サンプル データを使用するには、次のものが必要になる場合があります。

> db.foo.insert({
  filename: "sample.htm",
  taxonomy: [
    { k: "author", v: "Bob Smith" },
    { k: "title", v: "Java Syllabus" }
  ]
});
> db.foo.ensureIndex({ "taxonomy.k": 1, "taxonomy.v": 1 });

リンクされたブログ投稿の例によると、キー/値の基準でクエリを実行し$elemMatch、キー/値が両方とも同じ配列要素に含まれるようにすることができます。

于 2013-06-27T19:54:47.640 に答える