mongo shell mongo 連接 本地 遠程 帶認證的方式 複製集 SSL方式 mongo shell 操作 當插入數據時會自動創建集合 在mongo第一次顯示提示之前,會自動運行 目錄下的 文件,如果不想載入,可以使用 參數 配置shell Date Date() 返回string new ...
mongo shell
mongo 連接
本地
mongo # 連接127.0.0.1:27017
遠程
mongo "mongodb://mongodb0.example.com:28015"
帶認證的方式
mongo "mongodb://[email protected]:28015/?authSource=admin"
複製集
mongo "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaSet=replA"
mongo "mongodb+srv://server.example.com/" # DNS Seedlist Connection Format
SSL方式
mongo "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaSet=replA&ssl=true"
mongo shell 操作
db # 查看當前資料庫
use <database> #使用資料庫
當插入數據時會自動創建集合
在mongo第一次顯示提示之前,會自動運行HOME
目錄下的.mongorc.js
文件,如果不想載入,可以使用--norc
參數
配置shell
cmdCount = 1;
prompt = function() {
return (cmdCount++) + "> ";
}
# 顯示行數
Date
- Date() 返回string
- new Date() 返回ISODate
ISODate() 返回ISODate
ObjectId
_id的類型
NumberLong
mongo shell中,預設認為數字為浮點型,為表示64位int型數據,可以用NumberLong
如果用$inc作用於NumberLone,將把此數轉為浮點型數字比較
Query | Results |
---|---|
{ “val”: 9.99 } | { “_id”: 2, “val”: 9.99, “description”: “Double” } |
{ “val”: NumberDecimal( “9.99” ) } | { “_id”: 1, “val”: NumberDecimal( “9.99” ), “description”: “Decimal” } |
{ val: 10 } | { “_id”: 3, “val”: 10, “description”: “Double” }{ “_id”: 4, “val”: NumberLong(10), “description”: “Long” }{ “_id”: 5, “val”: NumberDecimal( “10.0” ), “description”: “Decimal” } |
{ val: NumberDecimal( “10” ) } | { “_id”: 3,“val”:10, “description”: “Double” }{ “_id”: 4, “val”: NumberLong(10), “description”: “Long” }{ “_id”: 5, “val”: NumberDecimal( “10.0” ), “description”: “Decimal” } |
當double類型的數據進行比較時,會轉換double的數據類型為decimal,而且會有誤差
可以用type進行比對
db.inventory.find( { price: { $type: "decimal" } } )
shell操作指南
~/.dbshell
:操作 記錄
show dbs
:查看 所有 資料庫,不同的訪問許可權會有不同的結果
use <db>
:使用
show collections
:查看所有集合
show users
:查看當前所有用戶
show roles
:查看當前資料庫所有角色,包括內建的
show profile
:列印耗時1毫秒以上的操作5個
show databases
:查看可訪問的所有資料庫