217.5. GridFS 操作 - プロデューサーエンドポイント
217.5.1. count リンクのコピーリンクがクリップボードにコピーされました!
コレクション内のファイルの総数を返し、OUT メッセージボディーとして整数を返します。
// from("direct:count").to("mongodb-gridfs?database=tickets&operation=count");
Integer result = template.requestBodyAndHeader("direct:count", "irrelevantBody");
assertTrue("Result is not of type Long", result instanceof Integer);
// from("direct:count").to("mongodb-gridfs?database=tickets&operation=count");
Integer result = template.requestBodyAndHeader("direct:count", "irrelevantBody");
assertTrue("Result is not of type Long", result instanceof Integer);
ファイル名ヘッダーを提供して、そのファイル名に一致するファイルの数を提供できます。
Map<String, Object> headers = new HashMap<String, Object>();
headers.put(Exchange.FILE_NAME, "filename.txt");
Integer count = template.requestBodyAndHeaders("direct:count", query, headers);
Map<String, Object> headers = new HashMap<String, Object>();
headers.put(Exchange.FILE_NAME, "filename.txt");
Integer count = template.requestBodyAndHeaders("direct:count", query, headers);
217.5.2. listAll リンクのコピーリンクがクリップボードにコピーされました!
すべてのファイル名とその ID をタブ区切りのストリームで一覧表示する Reader を返します。
// from("direct:listAll").to("mongodb-gridfs?database=tickets&operation=listAll");
Reader result = template.requestBodyAndHeader("direct:listAll", "irrelevantBody");
filename1.txt 1252314321
filename2.txt 2897651254
// from("direct:listAll").to("mongodb-gridfs?database=tickets&operation=listAll");
Reader result = template.requestBodyAndHeader("direct:listAll", "irrelevantBody");
filename1.txt 1252314321
filename2.txt 2897651254
217.5.3. findOne リンクのコピーリンクがクリップボードにコピーされました!
GridFS システムでファイルを検索し、本文をコンテンツの InputStream に設定します。 また、ヘッダーを持つメタデータも提供します。 受信ヘッダーの Exchange.FILE_NAME を使用して、検索するファイルを決定します。
// from("direct:findOne").to("mongodb-gridfs?database=tickets&operation=findOne");
Map<String, Object> headers = new HashMap<String, Object>();
headers.put(Exchange.FILE_NAME, "filename.txt");
InputStream result = template.requestBodyAndHeaders("direct:findOne", "irrelevantBody", headers);
// from("direct:findOne").to("mongodb-gridfs?database=tickets&operation=findOne");
Map<String, Object> headers = new HashMap<String, Object>();
headers.put(Exchange.FILE_NAME, "filename.txt");
InputStream result = template.requestBodyAndHeaders("direct:findOne", "irrelevantBody", headers);
217.5.4. create リンクのコピーリンクがクリップボードにコピーされました!
GridFs データベースに新しいファイルを作成します。これは、着信ヘッダーの Exchange.FILE_NAME を名前として使用し、本文の内容を (InputStream として) コンテンツとして使用します。
// from("direct:create").to("mongodb-gridfs?database=tickets&operation=create");
Map<String, Object> headers = new HashMap<String, Object>();
headers.put(Exchange.FILE_NAME, "filename.txt");
InputStream stream = ... the data for the file ...
template.requestBodyAndHeaders("direct:create", stream, headers);
// from("direct:create").to("mongodb-gridfs?database=tickets&operation=create");
Map<String, Object> headers = new HashMap<String, Object>();
headers.put(Exchange.FILE_NAME, "filename.txt");
InputStream stream = ... the data for the file ...
template.requestBodyAndHeaders("direct:create", stream, headers);
217.5.5. remove リンクのコピーリンクがクリップボードにコピーされました!
GridFS データベースからファイルを削除します。
// from("direct:remove").to("mongodb-gridfs?database=tickets&operation=remove");
Map<String, Object> headers = new HashMap<String, Object>();
headers.put(Exchange.FILE_NAME, "filename.txt");
template.requestBodyAndHeaders("direct:remove", "", headers);
// from("direct:remove").to("mongodb-gridfs?database=tickets&operation=remove");
Map<String, Object> headers = new HashMap<String, Object>();
headers.put(Exchange.FILE_NAME, "filename.txt");
template.requestBodyAndHeaders("direct:remove", "", headers);