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ツールは簡単な数学演算を直接実行できる.次のようになります.
3.ShellクライアントにMongoDBのドキュメントを挿入します.
4.Shellクライアントでドキュメントを問い合わせる.
5.次のように、Shellでドキュメントを更新します.
6.Shellクライアントから削除します.
六、Shellの使い方:
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 。