天天看點

mongo複制資料庫和集合1. 複制資料庫2. 複制Collection

後面四個選項可選:

fromhost: 源db的主機位址,如果在同一個mongod執行個體内可以省略;

username: 如果開啟了驗證模式,需要源db主機上的mongodb執行個體的使用者名;

password: 同上,需要對應使用者的密碼;

mechanism: fromhost驗證username和password的機制,有:mongodb-cr、scram-sha-1兩種。

{ copydb: 1,

  fromhost: <hostname>,

  fromdb:   <database>,

  todb:     <database>,

  slaveok:  <bool>,

  username: <username>,

  nonce:    <nonce>,

  key:      <key>

}

fromhost: 可選,見1.1;

slaveok: 可選,設定為true,允許從secondary複制資料,此時fromehost必須被設定;

username: 可選,見1.1;

nonce: 遠端伺服器上産生的一次性共享密鑰;

key: 對password的hash值

mongo複制資料庫和集合1. 複制資料庫2. 複制Collection

db.runcommand({

  clonecollection: <namespace>

  fromhost:         <hostname>

  query:               <filter>

});

db.runcommand({clonecollection:"testdb.testcol", fromhost:"192.168.1.12:27017", query:{"age":{"gt":2}}});

db.clonecollection(from, collection, query)

參考:

https://docs.mongodb.com/manual/reference/method/db.copydatabase/#db.copydatabase

https://docs.mongodb.com/manual/reference/command/copydb/

https://docs.mongodb.com/manual/reference/command/clonecollection/

https://docs.mongodb.com/manual/reference/method/db.clonecollection/#db.clonecollection

https://docs.mongodb.com/manual/reference/command/clone/