mogonDb知人


简介:
MongoDBのREADME
COMPONENTSの
  binに/のmongod -データベース・プロセス。
  ビン/ mongos -シャーディングコントローラ。
  ビン/モンゴ-データベースのシェルは(インタラクティブJavaScriptを使用しています)。

UTILITIES
  ビン/ mongodump - MongoDBのダンプツール-バックアップ、スナップショット、など。ための
  ビン/ mongorestore - MongoDBは、ダンプ、リストア
  ビン/ mongoexportを-輸出は、単一のコレクションのテスト(JSON、CSV)へ
  のbin / mongoimport - JSONまたはCSVからインポート
  ビン/ mongofiles - MongoDBのGridFSのからファイルを入れて取得するためのユーティリティ
  のbin / mongostat -ショーのパフォーマンス統計

binディレクトリデータベースのMongoDBのインストール場所を入力する必要がRUNNING
  起動コマンドラインオプションについての:
    $ --helpは./mongod
  にRUN A SINGLE Serverデータベース:
    $ます。mkdir /データ/ DB
    $ ./mongod
    $
    モンゴで$#にはJavaScriptに接続するシェルデフォルトのローカルホストによってテストデータベース:
    $ ./mongo
    >ヘルプ

DRIVERS
  ほとんどのプログラミング言語用のクライアントドライバはmongodb.orgでご利用いただけます。使用する
  管理タスクのためのシェル(「モンゴを」)。

ドキュメンテーション
  http://www.mongodb.org/

MAILリストおよびIRC
  http://www.mongodb.org/display/DOCS/Community

32 BITのBUILD注意
  MongoDBは、メモリマップファイルを使用しています。32ビット実行ファイルとして構築されている場合、あなたはなり
  大(数ギガバイト)のデータベースで作業することができません。しかし、32ビットは、
  小規模な開発データベースで作業罰金を構築します。
驱动下载:http://central.maven.org/maven2/org/mongodb/mongo-java-driver/

一般的なクエリ
成功開始MongoDBの後、その後、コマンドラインウィンドウを開くにはモンゴを入力し、あなたには、いくつかのデータベース操作を行うことができます。
:タイプのヘルプは、という基本的な操作コマンド見ることができます
ショーDBS:データベース一覧表示 
画面は、(リレーショナルデータベーステーブルに似ています)現在のデータベースを設定します。showコレクション 
ユーザーの表示を:ユーザ表示
の使用<DB名>:これはMS、現在のデータベースの切り替えをし、同じ意味の内部-SQL 
db.help():表示操作コマンドデータベース、多くの注文がある 
db.foo.help)は(:表示操作コマンドを設定し、多くの注文もあり、FOOは、現在のデータベースを参照し、Aコレクションと呼ばれるfooのではなく、真の意味のコマンドで 
db.foo.find():現在のデータベースのfooの収集のためのデータを検索(条件がないので、すべてのデータが一覧表示されます) 
db.foo.find({:1 })。1つのデータベースルックアップFOOの現在のセットと呼ばれる性質を有し、その値を持つデータについて
のMongoDBデータベースコマンドが作成されていないが、同様のコマンド。
以下のような::あなたは「MYTEST」データベース、実行使用MYTESTコマンドを作成したい場合は、(db.createCollection(「ユーザー」)のような)いくつかの操作を行い 、 あなたが名前の「MYTEST」データベースを作成することができるように。
データベース一般的に使用されるコマンド
1は、ヘルプビューは、コマンドプロンプト
 のヘルプ
db.helpを();
db.yourColl.help();
db.youColl.find()ヘルプ();
rs.help();
2、データベースの作成/切り換え
 使用yourDBを、あなたは、コレクション(表)を作成する場合、現在のデータベースが自動的に作成された
3、すべてのデータベースクエリは
 DBSを表示;
4、データベースの現在の使用削除
 db.dropDatabaseを();
5指定されたホスト・データベース上のクローンから
 db.cloneDatabase(「127.0.0.1」)、現在のデータベース内にクローニングし、指定したマシン上のデータベース・データ
6、指定されたデータベースへのデータベース・マシンからコピー指定されたデータを
 db.copyDatabase( " MYDB "" TEMP "" 127.0.0.1「); MYDB複写機一時データ・データベースによれば
7、修復現在のデータベース
 db.repairDatabase();
8は、現在のデータベース視聴
 db.getNameを();
 デシベル;デシベルとgetNameメソッドを使用すると、現在使用中のデータベースを照会することができ、同じ結果で
、ディスプレイのdbの現状9
 ; db.stats()
10、現在のDBのバージョン
 db.version();
11は、現在のデシベルのマシンアドレスのリンクをチェックアウト
 db.getMongo();
コレクション凝集セット
1は、集計(テーブルのセットを作成します
 db.createCollection( "collName"、{サイズ:20であり、キャップさ:. 5、最大:100});
2、指定された名前の集合(表のセット得るため
 db.getCollection( "アカウント");
3、集合電流DBの全てを得ました。セット
 db.getCollectionNames();
4、番組全てのDBクラスタ化インデックスの現在のステータス
 db.printCollectionStats();
 ユーザ関連
1、ユーザ追加
 db.addUser( "名前");
 db.addUser( "userNameに"、 "pwd123" )真;、ユーザーを追加パスワードを設定するかどうか、読み取り専用
2、データベース認証、セキュリティモード
 db.auth(「userNameに」、「123123」);
3、ユーザが表示され、現在の
 ショーユーザー;
4、削除ユーザ
 db.removeUser( 「userNameに」);
他の
一つ前のクエリエラーメッセージ
 db.getPrevError();
2、エラーレコードクリア
 db.resetErrorを();
 
集約コレクションクエリ
1、クエリのすべてのレコードdb.userInfo.find();と等価:のUserInfoから選択*;デフォルトのページのショーは20枚のレコードは、適合しない場合には、それが次の繰り返しデータを照会するためにコマンドを使用することができます。注:それを取ることができないコマンドを入力「;」しかし、あなたはDBQuery.shellBatchSize = 50で、ページあたりのデータのサイズを設定することができます。このページは50件のレコードが表示されます。 
列のセットのための2、集計現在のクエリ削除重複データdb.userInfo.distinct(「名前」);に対応する同じデータ名でフィルタアウト:ユーザー情報DistictからSELECT名; 
3、クエリ年齢= 22。記録db.userInfo.find({ "年齢":22 }); に相当する:SELECT *年齢= 22のユーザー情報からである 
。4、クエリ年齢記録> db.userInfo.find 22({年齢:{$ GT: 22}});に相当する;ユーザー情報年齢> 22 SELECT * FROM 
:{$ LT:5、クエリ年齢<記録のdb.userInfo.find 22({年齢 22}})を; に相当:選択*ユーザー情報から; <22である年齢 
記録({:{$ GTE年齢= db.userInfo.find 25。6、クエリ年齢> 25}}) に相当する:SELECT *ユーザ情報年齢> = 25から、 
図7、クエリ年齢<記録db.userInfo.find 25 =({年齢:{$ LTE:  25}})。
8、クエリ年齢> = 23、年齢<= 26db.userInfo.find({年齢は:{$ GTE:23である、$ LTE:26}である}); 
9、クエリ名は、データに含まれるdb.userInfo.findモンゴ({名前:/モンゴ/}); // 対応はユーザー情報から%% '%% Mongoの'のような名前SELECT *、 
10、({名前クエリdb.userInfo.find開始Mongoのに名前を付ける:/ ^モンゴ /} ); SELECT *ユーザー情報からWHERE名'%モンゴ'のような、 
11、問い合わせ指定された列名、年齢データdb.userInfo.find({}、{名前: 1、年齢:1}); に対応する:選択名前、年齢ユーザー情報から、コースの名前、真または偽の場合の河川名トゥーレ場合にも使用することができる:名前欄以外の偽の名前、表示情報場合効果として、除外されます。 
12、クエリ指定された列名、年齢データ、年齢> 25db.userInfo.find({年齢: {$ GT:25}}、{名前:1、年齢:1}); に対応する:選択名、ユーザー情報どこから年齢> 25歳、 
13歳の上昇に応じて、次のとおりです。db.userInfo.find()ソート({年齢 :1}); 降順:db.userInfo.find()ソート({年齢  :-1});
14、クエリ名= zhangsan、年齢データの= db.userInfo.find 22({名: 'zhangsan'、年齢:22}); に相当する:ここで、名前=ユーザー情報SELECT * FROM 'zhangsan'、年齢= '22'
に対応し、図15に示すように、照会データ5 db.userInfo.find()限界(5)の前に:ユーザ情報selecttopから5 *、 
16、後のクエリデータ条db.userInfo.find(10)(10)をスキップ。 ;当量(ユーザー情報10 *からselecttop)でユーザー情報はありませんからID WHERE SELECT *; 
5-10 db.userInfo.find()リミット(10)との間の17、クエリデータが.SKIP。 (5) 利用できます。ページングに、限界があるpageSizeを、最初の数ページをスキップするのpageSize *は 
18であり、又はクエリdb.userInfo.find({$または:[{年齢:22}、{年齢:25}]}); に相当します。select *年齢= 22からユーザー情報や年齢= 25である場合、 
図19に示すように、最初のクエリデータdb.userInfo.findOne();に相当する:ユーザ情報selecttopから※1; db.userInfo.find()リミット(1);. 
20は、あります({{$ GTE年齢数db.userInfo.findのレコードのクエリ結果セット :25}})(カウント) から相当に:.選択数(*) ユーザー情報年齢> = 20。
図21は、列に従ってdb.userInfo.find({{$が存在性別ソートされ ;)(カウント真}}) からの:.選択数(性別)に対応するユーザー情報は、
インデックス
1、インデックスはdb.userInfo.ensureIndexを作成しました({名:} 1); db.userInfo.ensureIndex({名:. 1、TS:-1}); 
2)(すべてのインデックス集約db.userInfo.getIndexesの現在のセットを確認し、 
3、総レコードサイズインデックスDBを参照してください。 .userInfo.totalIndexSize(); 
4)(全てのインデックス情報db.users.reIndex電流収集を読み出し、 
図5に示すように、指定されたインデックスdb.users.dropIndex( "NAME_1") 
。6、すべてのインデックスのインデックスdb.usersを削除.dropIndexes();
 削除データセット、追加、変更
、1を加えdb.users.save({名: 'zhangsan'真、年齢:25、性別}); 列データが固定されていない、データを追加として添加データ対象
2、修改db.users.update({年齢:25}、{セット$ {名: 'changeName'}}、FALSE、TRUE);相当于:更新ユーザーセット名= 'changeName'ここで、年齢= 25。db.users.update({名: 'リージ'}、{$ INC:{年齢:50}}、偽、TRUE);相当于:更新ユーザ設定年齢=年齢+ 50ここで、NAME = 'リージ'。db.users.update({名: 'リージ'}、{$ INC:{年齢:50}、$集合:{名: 'HOHO'}}、偽、真);相当于:更新ユーザー設定年齢=年齢ここで、NAME = 'リシ' + 50、NAME = 'HOHO'。
3、删除db.users.remove({年齢:132});
4、查询修改删除db.users.findAndModify({クエリ:{年齢:{$ GTE:25}}、ソート:{年齢:-1}、更新:{$設定:{名: 'A2'}、$株式会社:{年齢:2}}、削除:真})。db.runCommand({findandmodify: "ユーザー"、クエリ:{年齢:{$ GTE:25}}、ソート:{年齢:-1}、更新:{$設定:{名: 'A2'}、$株式会社: {年齢:2}}、削除:真})。

ステートメントのブロック操作
の簡単なこんにちはーWorldPrint(「Hello Worldの!」 );「!Hello World」の文言の印刷機能の呼び出し、および直接描画効果は同じである; 
2、jsontojsonにオブジェクトを変換する(新しいオブジェクト()); toJSON(新しい新しいオブジェクト( 'A'));
3、サイクル追加データが>(VARのために私は= 0; I <30; I ++){... db.users.save({名: "U_" + I、年齢:22 + I 、性別:I%2}); ...}; ;このデータループ30が追加される(VARは、I = 0のため、括弧内の同様の表現>は省略してもよい I <30。 I ++)db.users.save({名: "U_" + I、年齢:22 + I、セックス:私%2}); 、可能性もします()db.users.findと、クエリ、ディスプレイ複数のデータを表示することができない場合は、次ページの情報でそれを見ることができる;
4、カーソルが検索クエリ> VARカーソル= db.users.find(); >一方(cursor.hasNext()){printjson (cursor.next());}ユーザクエリ情報もVARカーソル= db.users.find()を書き込むことができるように、一方 (cursor.hasNext()){printjson(cursor.next);} 同様{}号省略されてもよい
5、forEachの反復ループdb.users.find()のforEach(printjsonを) 。forEachの私たちは、反復ごとにデータを処理する機能を合格しなければなりません
図6に示すように、カーソル検索アレイ処理VARカーソル= db.users.find();カーソル [4]、 その長さが得られる以来添字指標取得したデータ片4は、アレイ処理として使用することができる:カーソル。長さ();又はcursor.count();我々はまたためのループとしてデータを表示することができる(VAR I = 0、LEN = c.length(); I <lenは、I ++)printjson(C [I]) 
。7、アレイ>変数ARR = db.users.find()のtoArrayにカーソルを見つける ();> printjson(ARR [2]); 配列に変換することによりToArrayメソッド 
8、私たち自身のカスタムクエリの結果は、年齢を示し<= 28のみこの年齢列データdb.users.findを表示({年齢:{$ LTE :28}}、{年齢:1})。forEachの(printjson); db.users.find({年齢:{ $ LTE:28}}、{年齢:真})のforEach(printjson); カラム除外年齢db.users.find({年齢:. {$ LTE:28}}、{年齢:偽})のforEach(printjson。 ); 9、のforeach転送機能表示情報db.things.find(。{X:4} )のforEach(関数(X){プリント(tojson(X));});

公開された19元の記事 ウォンの賞賛3 ビュー9772

おすすめ

転載: blog.csdn.net/pinghuqiuyue9/article/details/50949811