CentOSはMongoDB 2.CRUD操作および共通コマンドを使用


リファレンスドキュメント
https://docs.mongodb.org/manual/core/crud-introduction/ http://mongodb.github.io/mongo-java-driver/3.0/driver/getting-started/quick-tour/
CRUD
MongoDBに格納されているデータはdocumentsと呼ばれ、JSONのようなキー値ペア方式を使用します.MongoDB documentsはBSON.documentsと呼ばれcollectionsコレクション方式で格納される.コレクションは、共有インデックスを持つ関連documentsのグループです.
query
modification
CentOS 使用MongoDB 2.CRUD操作 及常用命令_第1张图片
操作例
いくつかのコマンド
ヘルプの表示
help
db.help();
db.collectionname.help();
db.collectionname.find().help();
rs.help();

データベース操作
データベースの切り替え
use dbname; 存在しないdbに対して自動的に作成されます.
すべてのデータベースのクエリー
show dbs;
現在使用されているデータベースの削除
db.dropDatabase();
指定したホストからデータベースをクローンする
db.cloneDatabase(“host ip”);
指定したマシンから指定したデータベースデータをコピーします.
db.copyDatabase(“mydb”,”temp”,”host ip”);
現在のデータベースの修復
db.repairDatabase();
現在使用されているデータベースの表示
db.getName(); db;
現在のdbステータスを表示
db.stats();
現在のdbバージョン
db.version();
現在のdbのリンクマシンアドレスの表示
db.getMongo();
Collectionコレクションアクション
コレクションの作成
db.createCollection(“user”,{size:20,capped:5,max:100});
コレクションの取得
db.getCollection(“user”);
すべてのコレクションをクエリー
db.getCollectionNames();
現在のdbのすべての集計インデックスのステータスを表示
db.printCollectionStats();
集合データ空間サイズ
db.user.dataSize();
集合データバー数
db.user.count();
コレクション所在db
db.user.getDB();
集合ステータス
db.user.stats();
集合の合計サイズ
db.user.totalSize();
フォーカスセットの格納スペースのサイズ
db.user.storageSize();
Shardバージョン情報
db.user.getShardVersion();
コレクション名の変更
db.user.renameCollection(“users”);
現在のギャザーセットを削除
db.user.drop();
コレクション内のすべてのレコードを削除
db.user.remove({});
collectionレコード操作
挿入
db.user.insert({id:1,userName:”username”}); db.user.save({name:”,age:22,sex:true});
変更
db.user.update({age:22},{$set:{name:’chen’}},false,true); update user set name='chen'where age=25に相当
削除
db.user.remove({age:22});
クエリーの変更
db.users.findAndModify({ query: {age: {$gte: 25}}, 
    sort: {age: -1}, 
    update: {$set: {name: 'a2'}, $inc: {age: 2}},
    remove: true
});

db.runCommand({ findandmodify : "users", query: {age: {$gte: 25}}, 
    sort: {age: -1}, 
    update: {$set: {name: 'a2'}, $inc: {age: 2}},
    remove: true
});

検索
db.user.find();
        
db.user.distinct("name");
    
db.user.find({"name","a"});
    
db.user.find({age:{$gt:22}});   $lt    $ate      $lte    
    
db.user.find({name:/mongo/});
    
db.user.find({name:/^mongo/});
     
db.user.find({},{name:1,age:1});    //   age:false,    age 
  
db.user.find().sort({age:1});      //-1   
   5 
db.user.find().limit(5);
  10  
db.user.find().skip(10);
       
db.user.find().limit(10).skip(5);
    ,limit pageSize,skip    *pageSize
    
db.user.find({$or:[{name:'  '},{name:'  '}]});
     
db.user.findOne();
            
db.user.find({age:{$gte:25}}).count();
    
db.user.find({sex:{$exists:true}}).count();

索引
索引の作成
db.user.ensureIndex({name:1});
検索インデックス
db.user.getIndexes();
≪合計索引レコード・サイズの表示|View Total Index Record Size|emdw≫
db.user.totalIndexSize();
現在のセットのすべてのindex情報を読み込む
db.user.reIndex();
指定した索引の削除
db.user.dropIndex(“name”);
すべてのインデックスを削除
db.user.dropIndexes();
ユーザー操作
ユーザーの追加
https://docs.mongodb.org/manual/reference/method/db.createUser/ 構文
{ user: "<name>",
  pwd: "<cleartext password>",
  customData: { <any information> },
  roles: [
    { role: "<role>", db: "<database>" } | "<role>",
    ...
  ]
}

use test;
db.createUser({ user: "test_user", pwd: "123456", roles: [ "readWrite" ] });

データベース認証、セキュリティ・モード
db.auth(“userName”,”123123”);
前のすべてのユーザーを表示
show users;
ユーザーの削除
db.dropUser(“username”);
すべてのユーザーを削除
db.dropAllUsers();
パスワードの変更
db.changeUserPassword(“username”,”password”);
ユーザーの更新
https://docs.mongodb.org/manual/reference/method/db.updateUser/
db.updateUser(
   "<username>",
   {
     customData : { <any information> },
     roles : [
               { role: "<role>", db: "<database>" } | "<role>",
               ...
             ],
     pwd: "<cleartext password>"
    },
    writeConcern: { <write concern> }
)

Error操作
クエリ前のエラー情報
db.getPrevError();
エラーレコードのクリア
db.resetError();
ステートメントブロックアクション
1、print
print(“Hello World!”);
2、一つのオブジェクトをjsonに変換する
tojson(new Object()); tojson(new Object(‘a’));
3、循環追加データ
for (var i = 0; i < 30; i++) { … db.users.save({name: “u_” + i, age: 22 + i, sex: i % 2}); … }; これにより、ループに30個のデータが追加され、同様にカッコの表記for(var i=0;i<30;i+)db.users.save({name:“u_”+i,age:22+i,sex:i%2})を省略することもできる.db.users.find()でクエリーした場合、複数のデータを表示して1ページ表示できない場合は、itで次のページの情報を表示できます.
4、findカーソルクエリー
var cursor = db.users.find();
while (cursor.hasNext()) { 
    printjson(cursor.next()); 
}
        users  ,       
var cursor = db.users.find();
while (cursor.hasNext()) { printjson(cursor.next); }
      {} 

5、forEach反復サイクル
db.users.find().forEach(printjson); forEachでは、各反復のデータ情報を処理するために関数を渡す必要があります.
6.findカーソルを配列として扱う
var cursor = db.users.find(); cursor[4]; 下付きインデックスが4のデータを取得する配列として処理できる以上、その長さはcursor.length()である.またはcursor.count();これにより、データfor(var i=0、len=c.length();i7.findカーソルを配列に変換する
var arr = db.users.find().toArray(); printjson(arr[2]); toArrayメソッドで配列に変換
8、自分たちの検索結果をカスタマイズする
age<=28のみを表示し、age列のみを表示する
db.users.find({age: {$lte: 28}}, {age: 1}).forEach(printjson);
db.users.find({age: {$lte: 28}}, {age: true}).forEach(printjson);
  age  
db.users.find({age: {$lte: 28}}, {age: false}).forEach(printjson);

9、forEach伝達関数表示情報
db.things.find({x:4}).forEach(function(x) {print(tojson(x));}); forEachは関数を渡す必要があり、関数は現在のループのオブジェクトであるパラメータを受け入れ、関数体重で入力されたパラメータ情報を処理します.参照先:http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html