mongodbデータベース基本操作

8164 ワード

mongodyでのコレクション(collection/coll)はmysqlのテーブルに相当します
ドキュメントはmysqlの各行のデータに相当します
共通コマンド
 1.ヘルプコマンドの取得
db.help()
db.  .help()
db.  .find().help()
rs.help()

 2.データベースの切り替え/作成
use          :mongoDB         ,   ,       (table) ,          
  :       sutdentdb,          :
use studentdb

 3.すべてのデータベースのクエリー
show dbs
  :
> show dbs
admin      0.078GB
local      0.078GB
studentdb  0.078GB
test       0.078GB

 4.現在使用されているデータベースの削除
db.dropDatabase()
  :
> use test
switched to db test
> db.dropDatabase()
{ "dropped" : "test", "ok" : 1 }
> show dbs
admin      0.078GB
local      0.078GB
studentdb  0.078GB

 5.現在使用されているデータベースの表示
db.getName()
  :
> use studentdb
switched to db studentdb
> db.getName()
studentdb

 6.現在のdbステータスを表示
db.stats()

 7.現在のdbバージョン
> db.version()
2.6.12

 8.データベース内のテーブルの数を表示します(集計セット)
show collections

集計セット(テーブル)の基本情報の表示
  • ヘルプ
  • の表示
    db.  .help()

    2.現在のコレクション内のデータ・バー数の問合せ
    db.  .count()

    3.データ領域サイズの表示
    db.  .dataSize()

    4.現在集計されているデータベース
    db.  .getDB()

    5.現在の集計セットの状態を取得する
    db.  .stats()

    6.集合の合計サイズを取得
    db.  .totalSize()

    7.集計セットの記憶領域サイズの表示
    db.  .storageSize()

    8.Shardバージョン情報の表示
    db.  .getShardVersion()

    9.集計セットの名前を変更する
    db.  .renameCollection("   ")

    10.現在の集計セットを削除
    db.  .drop()

    クエリー操作
    1.すべてのレコードを問い合わせる
    db.  .find()
       :select* from   ;
          20   ,         ,   it           。  :  it     “;”

    2.クエリの結果は、あるフィールドで繰り返されるデータをフィルタして表示します.
    db.  .distinct("   ")
      :
    > db.student.distinct("Age")
    [ 20, 40 ]   : student  Age         ,    

    3.照会age=22のデータ
    db.  .find({"age":22})
      :
    > db.student.find({"age":20})
    { "_id" : ObjectId("5740dcb29bc83e10802f1cd8"), "name" : "kity", "age" : 20, "gender" : "womand" }

    4.クエリーageが22より大きいデータ
         $gt
    > db.student.find({"age":{$gt:22}})
    { "_id" : ObjectId("5740c1419bc83e10802f1cd6"), "name" : "Tom", "age" : 23, "gender" : "male" }
    { "_id" : ObjectId("5740dc369bc83e10802f1cd7"), "name" : "jerry", "age" : 30, "gender" : "male", "guoji" : "china" }
    { "_id" : ObjectId("5742263773344acd707888ba"), "name" : "Gu Zenghui", "age" : 25, "gender" : "male", "Course" : "Linux" }

    5.クエリーageが25以上のデータ
         $gte
    db.student1.find({age:{$gte:25}})

    6.クエリーageが25未満のデータ
       $lt
    db.student1.find({age:{$lt:25}})

    7.クエリーageが25以下のデータ
         $lte
    db.student1.find({age:{$lte:25}})

    8.クエリーageが30以上35以下のデータ
    db.student1.find({age:{$gte:30,$lte:35}})

    まとめ:
    $より大きいgt
    $gte以上
    $lt未満
    $lte以下
    9.クエリーnameにstudentを含むデータ
    > db.student1.find({name:/student/}).count()
    9916
     :      student,       

    10.クエリnameのGで始まるデータ
    db.student.find({name:/^G/})

    11.studentテーブルのnameとageの2列を出力する
    > db.student.find({},{name:1,age:1})
    { "_id" : ObjectId("5740c1419bc83e10802f1cd6"), "name" : "Tom", "age" : 23 }
    { "_id" : ObjectId("5740dc369bc83e10802f1cd7"), "name" : "jerry", "age" : 30 }
    { "_id" : ObjectId("5740dcb29bc83e10802f1cd8"), "name" : "kity", "age" : 20 }
    { "_id" : ObjectId("57418fd97267e7d85d8baf3a"), "name" : "Ou yangfeng" }
    { "_id" : ObjectId("57418ff77267e7d85d8baf3b"), "name" : "Yang Guo" }
    { "_id" : ObjectId("5741901e7267e7d85d8baf3c"), "name" : "Guo jing" }
    { "_id" : ObjectId("5742263773344acd707888ba"), "name" : "Gu Zenghui", "age" : 25 }

    12.studentテーブルのnameとageの2つの列を出力し、age>20を指定します.
    > db.student.find({age:{$gt:20}},{name:1,age:1})
    { "_id" : ObjectId("5740c1419bc83e10802f1cd6"), "name" : "Tom", "age" : 23 }
    { "_id" : ObjectId("5740dc369bc83e10802f1cd7"), "name" : "jerry", "age" : 30 }
    { "_id" : ObjectId("5742263773344acd707888ba"), "name" : "Gu Zenghui", "age" : 25 }

    13.年齢順
      :db.student.find().sort({age:1})
      :db.student.find().sort({age:-1})

    14.クエリnameがjerryで年齢が30のデータ
    db.student.find({name:"jerry",age:30})

    15.最初の5つのデータを問い合わせる
    db.student.find().limit(5)

    16.5件以降のデータを問い合わせる
    db.student.find().skip(5)

    17.2行目から5行目までのデータの問合せ
    db.student.find().limit(2).skip(5)

    18.or年齢が20または25のデータを照会する
    db.student.find({$or:[{age:20},{age:25}]})
    { "_id" : ObjectId("5740dcb29bc83e10802f1cd8"), "name" : "kity", "age" : 20, "gender" : "womand" }
    { "_id" : ObjectId("5742263773344acd707888ba"), "name" : "Gu Zenghui", "age" : 25, "gender" : "male", "Course" : "Linux" }

    19.最初のデータを問い合わせる
    db.student.findOne()

    20.統計count()関数の使用
    索引
    1.索引の作成
    > db.student.ensureIndex({name:1})
    {
    	"createdCollectionAutomatically" : false,
    	"numIndexesBefore" : 1,
    	"numIndexesAfter" : 2,
    	"ok" : 1
    }
    > db.student.getIndexes()    //    
    [
    	{
    		"v" : 1,
    		"key" : {
    			"_id" : 1
    		},
    		"name" : "_id_",
    		"ns" : "studentdb.student"
    	},
    	{
    		"v" : 1,
    		"key" : {
    			"name" : 1
    		},
    		"name" : "name_1",
    		"ns" : "studentdb.student"
    	}
    ]
    > db.student.ensureIndex({name:1,age:1})
    {
    	"createdCollectionAutomatically" : false,
    	"numIndexesBefore" : 2,
    	"numIndexesAfter" : 3,
    	"ok" : 1
    }
    > db.student.getIndexes()
    [
    	{
    		"v" : 1,
    		"key" : {
    			"_id" : 1
    		},
    		"name" : "_id_",
    		"ns" : "studentdb.student"
    	},
    	{
    		"v" : 1,
    		"key" : {
    			"name" : 1
    		},
    		"name" : "name_1",
    		"ns" : "studentdb.student"
    	},
    	{
    		"v" : 1,
    		"key" : {
    			"name" : 1,
    			"age" : 1
    		},
    		"name" : "name_1_age_1",
    		"ns" : "studentdb.student"
    	}
    ]
    > db.student.ensureIndex({name:1,age:-11})
    {
    	"createdCollectionAutomatically" : false,
    	"numIndexesBefore" : 3,
    	"numIndexesAfter" : 4,
    	"ok" : 1
    }
    > db.student.getIndexes()
    [
    	{
    		"v" : 1,
    		"key" : {
    			"_id" : 1
    		},
    		"name" : "_id_",
    		"ns" : "studentdb.student"
    	},
    	{
    		"v" : 1,
    		"key" : {
    			"name" : 1
    		},
    		"name" : "name_1",
    		"ns" : "studentdb.student"
    	},
    	{
    		"v" : 1,
    		"key" : {
    			"name" : 1,
    			"age" : 1
    		},
    		"name" : "name_1_age_1",
    		"ns" : "studentdb.student"
    	},
    	{
    		"v" : 1,
    		"key" : {
    			"name" : 1,
    			"age" : -11
    		},
    		"name" : "name_1_age_-11",
    		"ns" : "studentdb.student"
    	}
    ]