mongo shell

mongo shell

mongo 鏈接

本地

mongo # 鏈接127.0.0.1:27017

遠程

mongo "mongodb://mongodb0.example.com:28015"

帶認證的方式

mongo "mongodb://alice@mongodb0.examples.com: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參數mongodb

配置shell

cmdCount = 1;
prompt = function() {
             return (cmdCount++) + "> ";
         }
# 顯示行數

Date

  • Date() 返回string
  • new Date() 返回ISODate
  • ISODate() 返回ISODateshell

    ObjectId

    _id的類型數據庫

    NumberLong

    mongo shell中,默認認爲數字爲浮點型,爲表示64位int型數據,能夠用NumberLong
    若是用$inc做用於NumberLone,將把此數轉爲浮點型code

    數字比較

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進行比對orm

db.inventory.find( { price: { $type: "decimal" } } )

shell操做指南

~/.dbshell:操做 記錄
show dbs:查看 全部 數據庫,不一樣的訪問權限會有不一樣的結果
use <db>:使用 數據庫
show collections:查看全部集合
show users:查看當前全部用戶
show roles:查看當前數據庫全部角色,包括內建的
show profile:打印耗時1毫秒以上的操做5個
show databases:查看可訪問的全部數據庫
server

相關文章
相關標籤/搜索