[英]Connect to replica set within mongo shell
我正在嘗試編寫一個Mongo Shell腳本,該腳本連接到兩個數據庫,在一個數據庫中搜索一些文檔,然后將找到的文檔插入另一個數據庫。 有點像這樣:
#!/bin/sh
mongo --shell --nodb <<EOF
var db1 = new Mongo( '...' );
var db2 = new Mongo( '...' );
db1.collection.findOne( {...} ).forEach( function( r ) {
db2.collection.save( r )
});
訣竅是,兩個數據庫都是副本集,並且需要用戶名和密碼。
使用new Mongo()
連接到副本集並以特定用戶身份驗證的語法是什么? 我嘗試使用Mongo URI( http://docs.mongodb.org/manual/reference/connection-string/ ),但這沒有用。
我沒有設置副本來測試,但我認為您可以使用像這樣的Mongo()構造函數
conn = Mongo("replicasetname/host:port")
從那里,我認為您需要手動獲取數據庫
db = conn.getDB("myDatabase")
然后驗證
db.auth(user, pass)
這都可能取決於您所使用的Shell版本。 我沒有看到任何有關在最新版本中使用副本集連接的文檔,所以我不知道它是否已被棄用或不再提及。 希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.