MongoDB バックエンド¶
MongoBackend
インタフェース¶
このクラスは、MongoDB バックエンド実装が公開しなければならないメソッドを列挙します。この場合、次のものがあります :
void createDatabase(String dbName) throws Exception;
データベースが存在しない場合は、その名前でデータベースを作成します。
void createCollection(String dbName, String collectionName, long dataExpiration) throws Exception;
指定されたデータベースにコレクションが存在しない場合は、名前を指定してコレクションを作成します。
void insertContextDataRaw(String dbName, String collectionName, ArrayList<Document> aggregation) throws Exception;
指定されたデータベース内の指定されたコレクションに新しいドキュメントを挿入します。このようなドキュメントには、通知された単一の NGSI エンティティに関するすべての情報が含まれています。
void insertContextDataAggregated(String dbName, String collectionName, long recvTimeTs, String entityId, String entityType, String attrName, String attrType, String attrValue) throws Exception
指定されたデータベース内の指定されたコレクション内のドキュメントのセットを作成します(存在しない場合)。そのようなドキュメントには、特定の解像度と時間範囲について通知された NGSI エンティティに関する集約情報(総和の平方根、最小値、最大値、および発生数)が含まれています。
void storeCollectionHash(String dbName, String hash, boolean isAggregated, String fiwareService, String fiwareServicePath, String entityId, String entityType, String attrName, String destination) throws Exception;
指定されたパラメータに基づいてコレクション・ビルドに関連付けられたハッシュを格納します。
MongoBackendImpl
クラス¶
これは上記の MongoBackend
インタフェースを実装する MongoDB の便利なバックエンドクラスです。
MongoBackendImpl
は、実際に MongoDB for Java をラップします。
エンコーディングに関しては何も特別なことはありません。Cygnus は一般的に UTF-8 文字セットで動作するので、データがコレクションに書き込まれる方法です。これは、MongoDB クライアントが UTF-8 に読み込んだバイトを変換する責任を負います。