您好,登錄后才能下訂單哦!
mongoDB中聚集集合(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這兩列
> 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這兩列,并指定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.查詢在第二行到第五行之間的數據
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" } ]
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。