mongodb常用命令
阿新 • • 發佈:2020-07-30
1、客戶端連線服務
>mongo
2、檢視資料庫資訊
>db.stats()
3、顯示有哪些資料庫
>show dbs;
4、選擇使用哪個庫
>use 資料庫名
5、顯示資料庫中有哪些表
>show tables;
6、查看錶資訊
db.data_sys_log.stats()
7、資料庫幫助
>db.help()
8、資料表幫助
>db.data_sys_log.help()
9、檢視全表記錄
>db.data_sys_log.find()
10、設定命令列查詢資料,每頁顯示多少條
>DBQuery.shellBatchSize = 5
預設每頁顯示20條記錄,當顯示不下的情況下,可以用it迭代命令查詢下一頁資料。
可以通過DBQuery.shellBatchSize設定每頁顯示資料的大小。如:DBQuery.shellBatchSize = 5,這樣每頁就顯示5條記錄了
11、查詢一條記錄
>db.data_sys_log.findOne()
12、查詢聚集中欄位的不同記錄
>db.data_sys_log.distinct(
"login_name"
)
13、查詢聚集中login_name包含“王”關鍵字的記錄
>db.data_sys_log.find({
"login_name"
:/王/})
14、查詢聚集中login_name以“王”關鍵字開頭的記錄
>db.data_sys_log.find({
"login_name"
:/^王/})
15、查詢聚集中login_name以“王”關鍵字結尾的記錄
>db.data_sys_log.find({
"login_name"
:/王$/})
16、查詢聚集中指定列。
1表示
true
:相當於
select
login_name,role_name
from
data_sys_log
>db.data_sys_log.find({},{
"login_name"
:1,
"role_name"
:1})
雖然只查login_name,role_name兩列,預設會帶出_id列
17、 查詢聚集中排除指定列
>db.data_sys_log.find({},{
"login_name"
:0,
"role_name"
:0})
18、查詢聚集中指定列,且Age > 20
>db.data_sys_log.find({
"Age"
:{
"$gt"
:20}},{
"login_name"
:0,
"role_name"
:0})
19、聚集中欄位排序
>db.data_sys_log.find().sort({
"login_name"
:1}) 升序
>db.data_sys_log.find().sort({
"login_name"
:-1}) 降序
20、統計聚集中記錄條數
>db.data_sys_log.find().count();
21、統計聚集中符合條件的記錄條數
>db.data_sys_log.find({
"Age"
:{
"$gt"
:20}).count();
22、統計聚集中欄位符合條件的記錄條數
>db.data_sys_log.find({
"login_name"
:{
"$exists"
:
true
}}).count()
相當於:
select
count(login_name)
from
data_sys_log
23、查詢聚集中前5條記錄
>db.data_sys_log.find().limit(5)
24、查詢聚集中第10條以後的記錄,就是從11條開始
>db.data_sys_log.find().skip(10)
25、查詢聚集中第10條記錄以後的5條記錄
>db.data_sys_log.find().skip(10).limit(5)
26、OR查詢
>db.data_sys_log.find({
"$or"
:[{
"login_name"
:/王/},{
"role_name"
:/王/}]},{
"login_name"
:
true
,
"role_name"
:
true
})
相當於:
select
login_name,role_name
from
data_sys_log
where
login_name like
'%王%'
or role_name like
'%王%'
27、新增新記錄
>db.data_sys_log.insert({
"_class"
:
"com.uws.base.model.SysLogMongo"
,
"login_name"
:
"測試"
,
"role_name"
:
"測試角色"
,
"opt_content"
:
"[類名]:com.uws.base.controller.LoginController,[方法]:logout,[引數]:"
,
"create_time"
:
"2019-05-21 10:59:10"
})
注意:如果不選擇庫執行,即不use hz_studentroll;
則直接在test庫中建立data_sys_log表,插入資料
28、修改記錄
>db.data_sys_log.update({
"login_name"
:
"系統管理員"
},{
"$set"
:{
"role_name"
:
"管理員"
}})
注意:配置多條,只會修改一條
29、刪除記錄
>db.data_sys_log.remove({
"role_name"
:
"管理員"
})
>db.data_sys_log.remove({
"age"
:{$lt:20}}) age<20
$lt <
$lte <=
$gt >
$gte >=
$ne !=
30、全部刪除
>db.data_sys_log.remove()
>db.data_sys_log.remove({})
31、給表新增欄位
>db.data_sys_log.update({},{$
set
:{source:
null
}},{multi:1})
32、刪除表字段
>db.data_sys_log.update({},{$unset:{
'source'
:
null
}},
false
,
true
)
33、刪除資料庫
>db.dropDatabase(); #刪除當前所在的資料庫
34、刪除表
> db.user.drop() #刪除user表
35、關閉mongo服務
1)使用資料庫命令關閉:
>use admin
>db.shutdownServer();
2)使用mongod命令關閉
>mongod --shutdown -f ../mongo.conf
或
>mongod -f ../mongo.conf shutdown
3)使用kill命令
>ps -ef|grep mongo
>kill pid
>ps -ef|grep pmon
使用 kill -2 pid 或 kill -15 pid
不要使用kill -9 pid,因為如果MongoDB執行在沒開戶日誌(--journal)的情況下,可能會造成資料損失。
36、建立複合索引
>db.test.ensureIndex({
"age"
: 1,
"no"
: 1,
"name"
: 1 })
37、檢視索引名稱空間
>db.tb_user.stats() 檢視indexSizes的值
38、查看錶資料大小:bytes
>db.sysLog.dataSize();
39、查看錶分配大小,包括未使用的空間
>db.sysLog.storageSize();
40、查看錶資料大小,包括索引
>db.sysLog.totalSize();
41、查看錶索引大小
>db.sysLog.totalIndexSize();
轉載:https://www.cnblogs.com/ngy0217/p/11080752.html