簡體   English   中英

連接到mongo shell中的副本集

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM