2017-05-26 3 views
0

私はmongodbにデータベースを作成しています。このJSON形式のサンプルがありますmongoデータベースにテーブルのスキーマを作成できません

{ 
    first_name: "John", 
    last_name: "Doe", 
    memberships: ["mem1", "mem2"], 
    address: { 
     street: "4 main st", 
     city: "Boston" 
    }, 
    contacts: [ 
     { 
      name: "Brad", 
      relationship: "friend" 
     } 
    ] 
} 

私はデータベースとコレクション "user"を作成しました。 JSONのようにこのコレクションのスキーマを定義したいと思います。

私はmongodbコンパスツールhttps://www.mongodb.com/products/compassを使用してデータベース、コレクション、スキーマ、管理などを作成しています。適用ボタンの左にある入力ボックスにこのJSONを適用していますので、適用ボタンをクリックするとスキーマは作成されません。

誰でもこのツールを使用してコレクションのスキーマを作成する方法を知っていますか?

enter image description here

+0

MongoDBは "スキーマレス"データベースです。あなたは、SQLベースのデータベースのやり方で "テーブル"のプロパティとタイプを定義しません。現代版では、基本的な「バリデーション」ルールの作成が可能ですが、これまでのところです。したがって、 "データベース"はスキーマの責任を負いません。代わりに、このタスクは "クライアント"コードに委任されます。必要なのはORM/ODMプロダクトで、これは "スキーマ"を表すデータアクセス用オブジェクトの分類を可能にします。 MongoDBには別途販売されています(実際には無料ですが、製品の一部ではありません)。 https://www.google.com/search?q=mongodb+ORM –

+0

特定のコレクションにJSONドキュメントをインポートするツールはありますか? @Neil Lunn –

+1

はい。しかし、それはあなたがここで尋ねた質問ではありません。ここでの形式はQ&Aです。これは、あなたが質問し、**その**の質問に答えることを意味します。新しい質問がある場合は[Ask a Question](https://stackoverflow.com/questions/ask)をご覧ください。または、少しずつ検索するか、実際には[ドキュメントを読む](https://docs.mongodb.com/manual/)を参照してください。あなたの現在の評判スコアと参加バッジの数があれば、誰も本当にあなたにこれを伝える必要があります。 –

答えて

0

私はmongodbは、スキーマレスデータベースであることがわかります。任意のタイプのドキュメントを単一のコレクションに挿入できますが、完全なアプリケーションデータを単一のコレクションに挿入することは避けてください。

findクエリの高速実行を確認するには、複数のコレクションを作成する必要があります。

enter image description here

関連する問題