sql >> データベース >  >> NoSQL >> MongoDB

既存のMongoDBから視覚化を作成するためのツール

    これは、実際には「視覚化」の要件によって異なります。通常、リレーショナルデータベースの図のより興味深い視覚的側面のほとんどは、高レベルの関係と整合性制約(1:1、1:多、主キー、外部キーなど)です。

    MongoDBには柔軟性があります 特定のコレクション内のドキュメントが所定の形式に準拠する必要がないという意味でのスキーマ。これは、基になるデータが何らかの組織を持つことができないという意味ではありません。コレクションに単一のスキーマが課されていないということだけです(従来のリレーショナルデータベースの場合のように)。

    MongoDBでは、視覚化する興味深い詳細の多くは、コレクション内のドキュメントの一部またはすべてを検査するか、コードを確認することによって分析する必要があります。

    コードレビュー

    アプリケーションが Mongoose などのODM(Object Document Mapper)を使用している場合 (Node.js)または Morphia (Java)、アプリケーションコードは、目的のスキーマ(または少なくとも目的のスキーマの最新バージョン)の迅速で説明的なビューを提供する場合があります。 jsdocなどの適切な言語ドキュメンテーションツール またはjavadoc モデルクラスの合理的な概要を生成するのに役立つ場合があります。最良の結果を得るには、おそらくいくつかのドキュメント注釈を追加する必要があります。

    スキーマ分析

    スキーマ分析は、観察されたスキーマを推測するためにデータを調べることを含む、より力ずくのアプローチです。このための一般的なアプローチは、 Map /Reduce を使用することです。 。

    いくつかの異なる mongo シェル コレクションの一般的な構造(たとえば、フィールド/データ型とソースドキュメントでのそれらのカバレッジ)のアイデアを提供するヘルパー:

    これらは(グラフィカルな意味で)視覚的ではありませんが、スキーマ分析の結果は、データの予想される形状と一般的なバリエーションへの洞察を提供します。

    関係

    MongoDBサーバーは外部キー関係をサポートしていないため、興味深い可能性のある視覚的な注釈が多数削除されます。

    データベース参照(DBRef) を作成するには、いくつかの異なるクライアントドライバーアプローチがあります。 、ただし、これらはサーバー機能ではなく、使用規則に従っています。 DBRefを使用してコレクション間の関係を判別するには、コレクション内のドキュメントの一部またはすべてをスキャンする必要があります。関係の推論は、どちらのvarietyでもサポートされていません またはschema.js まだ。

    コンテンツ

    実際のコンテンツをよりよく理解するには、管理UIのいずれかを試してください。



    1. Mongoose.js:ユーザー名LIKE値でユーザーを検索

    2. Laravel-ジョブを順番に実行する

    3. Grailsドキュメントのカスタムイベントリスナーの例

    4. 変数からmongoフィールドを設定する方法