MongoDBチュートリアルの入門基礎知識

4756 ワード

一、文書の注意事項:
1.キー値のペアは、{"name":"stephen","genda":"male"}が{"genda":"male","name":"stephen"}2に等しくないように秩序化されている.ドキュメント情報は大文字と小文字に敏感です.たとえば、{"name":"stephen"}は{"Name":"stephen"}3に等しくありません.ドキュメント情報は、{"age":30}が{"age":30"}に等しくないなど、区別タイプである.ドキュメントに重複キーは表示されません.たとえば、{「name」:「stephen」>「name」:「liu」}
二、複数の集合を使用する必要性:
1.さまざまなパターンのドキュメントを1つのセットに格納すると、開発者にとって非常に災害になります.クエリーの結果を取得すると、異なるタイプのドキュメントを手動でコードでフィルタする必要があるためです.2.クエリの効率が低下します.考えてみてください.あるモードのドキュメントのデータ量が相対的に少ないと仮定すると、共通の大きなセットに配置されている場合、クエリー効率は独立したセットに配置されるよりも大幅に低くなります.3.インデックスを作成するときに、すべてのドキュメントが同じパターンである場合、インデックスの使用率はより効率的になります.
三、集合の命名注意事項:1.集合名は空の文字列""ではありません.2.システムで始まるのではなく、システムのようなシステムのために保持されるのが一般的である.usersコレクションにはデータベースのユーザ情報が保存するsystem.namespaceコレクションには、データベースコレクションの情報が保持されます.3.集合名に'$'文字を含めないでください.4.サブセットはblog.のような比較的良い集合計画方式にすぎない.postsとblog.anthursは、実際にはblog集合との間には何の関係もなく、blog集合が存在しなくてもよい.
四、データベース:
同じMongoDBサーバに複数のデータベースが存在し、各データベースは異なるファイルに格納されます.また、データベース名とファイル名がバインドされているため、データベース名にはいくつかの制限があります.1.空白文字""ではありません.2.すべての小文字で64バイトを超えない.3.ファイル名のネーミングに不正な文字を含めてはいけません.4.adminデータベースは管理データベースであり、ユーザーがそのデータベースにいる場合、すべてのデータベース権限を自動的に継承します.一部の特定のサーバコマンドも、このデータベースからのみ実行できます.5.localというデータベースは、ローカルの単一サーバに限定された任意のセットを格納するためにコピーされません.6.データベース名集合名は、その集合の完全限定名を表し、その長さは121自身を超えない.
五:MongoDBの起動:
1.直接mongodを実行すればよく、コマンドラインパラメータがない場合、サーバーのホストに/data/dbディレクトリを含める必要があります.Windowsの場合、デフォルトディレクトリはサービスプログラムがあるドライブのdatadbです.Dディスクの場合はD:databinとなります.デフォルトのリスニングポートは27017です.2.MongoDBにはJavaScript Shellがあり、コマンドラインからMongoDBと対話できます.mongo.このShellツールは簡単な数学演算を直接実行できる.次のようになります.
 
  
    > x = 200
    200
    > x /5
    40
    -- JavaScript 。
    > new Date("2012/05/05")
    ISODate("2012-05-04T16:00:00Z")
    > "Hello World".replace("World", "MongoDB")
    Hello MongoDB
    -- JavaScript 。
    > function factorial(n) {
    ... if (n <= 1) return 1
    ... return n * factorial(n - 1)
    ... }
    > factorial(5)
    120

3.ShellクライアントにMongoDBのドキュメントを挿入します.
 
  
    > post = { "title" : "my blog post", "content" : "Here's my blog", "date" : new Date() }
    {
         "title" : "my blog post",
         "content" : "Here's my blog",
         "date" : ISODate("2012-06-04T07:38:51.345Z")
    }
    > db.blog.insert(post)
    > db.blog.find()
    { "_id" : ObjectId("4fcc661de4bcbac15b3d9e3a"), "title" : "my blog post", "content" : "Here's my blog",
    "date" : ISODate("2012-06-04T07:38:51.345Z") }

4.Shellクライアントでドキュメントを問い合わせる.
 
  
    > db.blog.findOne()
    {
         "_id" : ObjectId("4fcc661de4bcbac15b3d9e3a"),
         "title" : "my blog post",
         "content" : "Here's my blog",
         "date" : ISODate("2012-06-04T07:38:51.345Z")
    }

5.次のように、Shellでドキュメントを更新します.
 
  
    -- post , comments , 。
    > post.comments = []
    [ ]
    --update , 。
    > db.blog.update({ "title" : "my blog post"}, post)
    > db.blog.findOne()
    {
         "_id" : ObjectId("4fcc661de4bcbac15b3d9e3a"),
         "title" : "my blog post",
         "content" : "Here's my blog",
         "date" : ISODate("2012-06-04T07:38:51.345Z"),
         "comments" : [ ]
    }

6.Shellクライアントから削除します.
 
  
    -- remove , 。
    > db.blog.remove( { title:"my blog post"})
    > db.blog.findOne()
    null

六、Shellの使い方:
 
  
    > show dbs  -- 。
    > show collections --
    > show users --
    > db.help()  -- 。
    > db.blog.help() -- blog 。
    > db.blog.update -- update JavaScript 。