MongoDBのの研究[3]:MongoDBのアーキテクチャ

1、比較論理
 
リレーショナルデータベースの3つのレベルの概念の組成物のMySQLデータベース(データベース)、テーブル(表)、レコード(行)。
非リレーショナルデータベース:MongoDBのデータベース(データベース)、収集(コレクション)、(文書)ドキュメントオブジェクトの三つのレベルの概念。

MySQLテーブルの対応するセット中のMongoDB、しかしコレクションは、文書のみ、レコードへの文書と同等に設定概念的な列との関係を、リストされていない、これはショーがフリーモードを備えています。


2、データストレージ構成
 
のデータ格納構造のMySQL:
MySQLでのデータ保存は、あなたがのMyISAMエンジンを使用している場合、ディレクトリデータは、.FRM、MYD、MYIファイルに表示され、データベース内に同じ名前のディレクトリに置かれています。

MongoDBのデータ記憶構造:
MongoDBのデフォルトのデータディレクトリはMongoDBのデータファイルのすべてを格納するための責任がある/データ/ DB、です。MGでは、各データベースは.nsファイルとデータファイルが含まれており、これらのデータファイルは、データの量がますますなっ増になること。データベースの果物がある場合、データベースは文書がfruit.ns、fruit.0、mydb.1 3つのファイルを持って構成しています。

MongoDBのヒント:
すべてのデータベースがDBSが示す参照
現在のデータベースDBを表示
コレクションの数は現在のデータベースは、テーブルまたはコレクションショービューの表示、3をMongoDBのデータ型 
のデータを整理するためのMongoDB BSONの使用を、BSON同様のJSON、JSONだけのシンプルなデータ(ヌル、ブール値、数値、文字列、およびオブジェクトの配列)の6種類が存在する実施形態を示すデータは、完全もBSON日、32ビット数、64ビット数、及び他の種類を提供し、従って、複雑なビジネスのニーズを満たすことができません。
A、ヌル
{ "1":NULL}のようなタイプまたはフィールドが存在しないことを示すNULL、NULL値、
B、ブール値
trueまたはfalse、あるいは1と0のように表すことができる:{ "1":真} 
C、整数32ビット
、32ビット整数が自動的にエスケープされるように、JSエンジンを使用して、MongoDBのコンソール入力、及びJSのみ、64ビット浮動小数点をサポートしています。
整数D、64ビット
のMongoDBコンソールとして64ビットと32ビット整数、64ビット浮動小数点数を使用してエスケープします。
電子、64ビット浮動小数点の
デフォルトタイプのMongoDBコンソール番号。例えば:{ "1":{2.02} "1":10} 
F、文字列
のUTF-8文字列データ型、文字列として表すことができます。{「ワン」:「こんにちは、ジャン」} 
G、シンボルは、
MongoDBのコンソールは自動的に文字列型の脱出します。このタイプをサポートしていません。












時間、のObjectIdタイプ
ドキュメントオブジェクトIDは、一意の12ビットのIDです。0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11、 即ち、タイムスタンプ|機械| PID |カウンタ。

I、日付
注:のような、新たな新規追加するために使用される{「1」:新しい新規A日付()} 

J、正規表現の
ドキュメントは、JSを表現正規表現構文を使用して正規表現を含むことができます。例えば:{ "1":/ HO / I} 

K、コード
文書では以下のようなJSコード、含有することができる{ "1":関数(){}} /*..........*/ 

L、アレイ
文書キーが配列として表現することができる、アレイのような、アレイに埋め込まれてもよい:{「X」:[「 」、[「O」、「J」、[「X」、「Y」、 「Z」]]]} 

M、埋め込まれたドキュメント
の他の文書を含むことができる文書では、親文書の値として埋め込まれていてもよいです。
例えば:{「X」:{「名前」:「トム」、「性別」、「食事」、「年齢」25、「愛」、「美容」}} のMongoDB共通コマンド 
ビューデータベースが現在配置されていますDB 
2、(ユーザーのリストがdb.system.users.find表示)
3、ユーザーはすべてのユーザーが表示する表示
すべてのデータベースのDBSを表示確認するために、4を
表示コレクションのすべてのコレクションを見ること、5 
)現在のデータベースdb.dropDatabaseを(削除、6 
7、DBのセットを削除する。COLLECTIONNAME .drop()
8、私はヘルプのmongoサポートをどのコマンドが知りたいのですが





図9は、現在のデータベース支援方法のdb.help()何を知りたいと思った 
db.collname.remove(条件)[注:この条件を記述しない場合は、すべてのデータを削除することです]
10は、現在の収集方法が:.サポートDbのコレクション名の.help()かを知りたい
多くのコマンドは助けを借りて見ることができるのMongoDBの一般的な操作。 
1、リスト現在のデータベースのショーDBS、初期状態で、唯一の管理者、地元2のGeデータベース。
2は、新しいデータベース名を使用MYDBを定義する。実際には、このアクションは、実際には、現在のデータベース内にいることを、設定しません。
図3に示すように、データは、保存されたコレクション(集合)を定義し、その後、次のステートメントを使用してデータを挿入し、データを挿入:
db.users.insert({「_ ID」:。1、「名前」:「モンゴ」})
成功した挿入後、参照すべてのライブラリは、より多くのMYDBライブラリーよりも、その後はすべてのコレクション、より多くのユーザーのコレクションを表示して、単なるデータビューを追加するだけでなく、見つけることができます。
図4に示すように、データを追加挿入キーワードや保存、次のように基本的な構文は次のとおりです。
db.collname.insert({...})
db.collname.save({...})
> A = { "名前": " CAIDA "}、{"名前":" WANA "} 
> B = {"年齢":{24}"年齢「:29} 
> db.users.insert(A)
> db.users.save(B)
5、削除。データ、キーワードの削除、構文は次のとおりです。 
。6、データを修正し、キーワードの更新を使用して、次の構文:
db.collname.update({条件})





例:db.users.remove({ "名": "BadGuyの"}) 
例:db.users.update({ "_ ID" :1}、{ "名前"、 "のNoSQL"}) 
と、同じ第1を除きます。条件にマッチしているパラメータは、それ以外の場合は、すべてのデータを変更することが可能となります。
図7に示すように、データクエリ、またはfindOneキーワード(クエリ)、次の例を見つける:
db.users.find()すべてのデータを照会する] [ 
db.users.findOne()[]、クエリのデータレコード
公開された59元の記事 ウォンの賞賛2 ビュー5585

おすすめ

転載: blog.csdn.net/LDR1109/article/details/100945099