mongodb在mysql中怎么用,mongoDB数据库基本操作
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"
}
]
總結
以上是生活随笔為你收集整理的mongodb在mysql中怎么用,mongoDB数据库基本操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dnf裂缝注视者怎么开启?
- 下一篇: 上海欢乐谷哪里停车比较便宜