Mongodbセレクション01エピソード(認知、インストール)
MongoDBの紹介とインストール
mongodbドキュメント:https://docs.mongodb.com/
1.mongodbの紹介
1.1mongodbとは
- mongodbは、最も機能が豊富なNoSQL非リレーショナルデータベースです。C ++言語で書かれています。
- Mongodb自体は、サーバーであるS側のストレージデータを提供します。また、クライアントであるC側の操作処理(クエリなど)データも提供します。
1.2SQLとNoSQLの主な違い
- SQLの階層関係:データベース>テーブル>データ
- NoSQLでは、データベース>コレクション>ドキュメントです。
1.3データ間に相関関係はありません
- SQLで外部関連データを追加する必要がある場合、正規化されたアプローチは、外部キーを元のテーブルに追加して、外部データテーブルを関連付けることです。
- NoSQLは、外部データを元のデータセットに直接配置して、クエリの効率を向上させることができます。欠点も明らかであり、関連データを更新するのはさらに面倒です。
- SQLでは、テーブル内の各データのフィールドは固定されています。NoSQLのコレクション(テーブル)内の各ドキュメント(データ)のキー(フィールド)は、互いに異なる場合があります。
1.4さらに読む
https://www.cnblogs.com/jeakeven/p/5402095.html
1.5リレーショナルデータベースに対する非リレーショナルデータベースとしてのmongodbの利点
拡張が簡単:NoSQLデータベースには多くの種類がありますが、一般的な機能の1つは、リレーショナルデータベースのリレーショナル特性を削除することです。データ間には関係がないため、非常に簡単に拡張できます
大量のデータ、高性能:NoSQLデータベースは、特に大量のデータの下で、非常に高い読み取りおよび書き込みパフォーマンスを発揮します。これは、その非リレーショナルな性質とデータベースの単純な構造によるものです。
柔軟なデータモデル:NoSQLは、事前に保存するデータのフィールドを作成する必要がなく、いつでもカスタムデータ形式を保存できます。リレーショナルデータベースでは、フィールドの追加と削除は非常に面倒なことです。非常に大きなデータボリュームテーブルの場合、フィールドの追加は単に悪夢です
2.mongodbのインストール
例としてubuntu18.04を取り上げます
mongodbには、コマンドインストールまたはソースインストールの2つのインストール方法があります。
2.1コマンドのインストール
Ubuntuでapt-getツールを使用してインストールします
sudo apt-get install -y mongodb-org
または、公式ドキュメントhttps://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/を参照してください
2.2ソースコードのインストール
2.2.1対応するバージョンとオペレーティングシステムを選択してダウンロードします
https://www.mongodb.com/download-center/community?jmp=docs
2.2.2解凍
tar -zxvf mongodb-linux-x86_64-ubuntu1804-4.0.3.tgz
2.2.3 / usr / local /ディレクトリに移動します
sudo mv -r mongodb-linux-x86_64-ubuntu1804-4.0.3 / / usr / local / mongodb
2.2.4シェルの初期化スクリプト.bashrcの環境変数PATHにmongodb実行可能ファイルを追加します
a。.bashrcファイルを入力します
cd ~
sudo vi .bashrc
b。.bashrcファイルの最後に追加します。
export PATH=/usr/local/mongodb/bin:$PATH
3.mongodbの公式ドキュメント
https://docs.mongodb.com/manual/introduction/
4.はじめにケース
4.1mongodbサーバーの起動
- デフォルトのポート:27017
- デフォルトの構成ファイルの場所:/etc/mongod.conf
- デフォルトログの場所:/var/log/mongodb/mongod.log
mongodbサーバーを起動する方法は2つあります。
- ローカルテストモードを開始します(ローカルデータの追加、削除、変更、およびチェックの機能のみ)
- 実稼働環境を開始します(完全な機能と完全な機能を備えています)
4.2テストモードの開始
- 启PIN:sudo service mongod start(sudo service mongod start)
- 停止:sudo service mongod stop
- 再起動:sudo service mongod restart
4.3本番環境の正式な起動方法
启PIN:sudo mongod [–auth --dbpath = dbpath --logpath = logpath --append --fork] [-–f logfile]
- sudo mongodコマンドでのみ開始した場合、データはデフォルトで/ data / dbディレクトリに保存され、手動で作成する必要があります
- --Dbpath:データベースのストレージパスを指定します
- --Logpath:ログのストレージパスを指定します
- --Append:または--logappendは、ログ書き込み形式を追加モードに設定します
- --Fork:または-forkは、mongodbサービスを実行するための新しいプロセスを開始します
- --F:または-f構成ファイルのパス(上記の構成情報をファイルに書き込んでから、ファイル内のパラメーターを使用してロードおよび開始できます)
- --Auth:認証認証から始めます。このコンテンツについては、後のコースで学習します。
4.4起動が成功したかどうかを確認します
ps to | grep mongod
4.5 mongodbクライアントを起動します:mongoシェルに入ります
- ローカルクライアントを起動します:mongo
- ヘルプを表示:mongo –help
- 終了:exitまたはctrl + c
4.6mongodbの簡単な使用
mongodbサーバーがオンになっている場合は、mongoシェルに入った後に簡単に使用できます。
4.7mongodbデータベースのコマンド
- 現在のデータベースを表示します:db(データベースが切り替えられていない場合、デフォルトでテストデータベースが使用されます)
- すべてのデータベースを表示:show dbs / show database
- データベースの切り替え:db_nameを使用
- db_nameは、showdbsの後に返されるデータベース名です。
- 現在のデータベースを削除します:db.dropDatabase()
4.8mongodbコレクションのコマンド
- コレクションを手動で作成する必要はありません。
存在しないコレクションに初めてデータを追加すると、コレクションは自動的に作成されます。 - コレクションを手動で作成します。
- db.createCollection(name、options)
- db.createCollection( "stu")
- db.createCollection(“ sub”、{capted:true、size:10})
- パラメータの上限:デフォルト値はfalseは上限が設定されていないことを意味し、trueの値は上限が設定されていることを意味します
- パラメータサイズ:コレクションが占めるバイト数。上限値がtrueの場合、上限サイズを示すためにこのパラメーターを指定する必要があります。ドキュメントが上限に達すると、前のデータがバイト単位で上書きされます。
- コレクションの表示:コレクションの表示
- ドロップコレクション:db.collection name.drop()
- コレクションに上限があるかどうかを確認します:db.collection name.isCapped()
6.簡単な演習
結果を表示するには、mongoシェルに次のコマンドを入力します
show dbs
use test
show collections
db
db.stu.insert({'name':'郭靖', 'age':22})
show dbs
show collections
db.stu.find()
db.stu.drop()
show collections
db.dropDatabase()
show dbs
exit
6.1 mongodbの一般的なデータ型(理解)
一般的なタイプ
- オブジェクトID:ドキュメントID /データID、データの主キー
- 文字列:最も一般的に使用される文字列は、有効なUTF-8である必要があります
- ブール値:trueまたはfalseのブール値を格納します
- 整数:整数は、サーバーに応じて32ビットまたは64ビットになります。
- ダブル:浮動小数点数
- 配列:配列/リスト
- オブジェクト:mongodbのデータ/ドキュメント、つまりドキュメントのネストされたドキュメント
- ヌル:ヌル値を格納します
- タイムスタンプ:1970-1-1から現在までの合計秒数を表すタイムスタンプ
- 日付:現在の日付または時刻を格納するためのUNIX時間形式
6.2 注意点
-
各ドキュメントには属性_idがあり、各ドキュメントの一意性を確保するために、mongodbはデフォルトで_idを主キーとして使用します
- _idの値を手動で設定できます。指定されていない場合、MongoDBはドキュメントごとに一意の_idを提供します。タイプはobjectIDです。
-
objectIDは12バイトの16進数で、1バイトあたり2ビット、合計24文字の文字列です。
- 最初の4バイトは現在のタイムスタンプです
- 次の3バイトのマシンID
- 次の2バイトのMongoDBサービスプロセスID
- 最後の3バイトは単純な増分値です