Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 连接到mongo shell中的副本集_Mongodb_Shell_Connection String_Replicaset - Fatal编程技术网

Mongodb 连接到mongo shell中的副本集

Mongodb 连接到mongo shell中的副本集,mongodb,shell,connection-string,replicaset,Mongodb,Shell,Connection String,Replicaset,我正在尝试编写一个MongoShell脚本,它连接到两个数据库,在其中一个数据库中搜索一些文档,然后将找到的文档插入到另一个数据库中。有点像这样: #!/bin/sh mongo --shell --nodb <<EOF var db1 = new Mongo( '...' ); var db2 = new Mongo( '...' ); db1.collection.findOne( {...} ).forEach( function( r ) { db2.collectio

我正在尝试编写一个MongoShell脚本,它连接到两个数据库,在其中一个数据库中搜索一些文档,然后将找到的文档插入到另一个数据库中。有点像这样:

#!/bin/sh
mongo --shell --nodb <<EOF
var db1 = new Mongo( '...' );
var db2 = new Mongo( '...' );
db1.collection.findOne( {...} ).forEach( function( r ) { 
  db2.collection.save( r ) 
});
#/垃圾箱/垃圾箱

mongo--shell--nodb我没有一个副本集来测试它,但我认为可以像这样使用mongo()构造函数

conn=Mongo(“replicasetname/host:port”)

从那里开始,我认为您需要使用

db=conn.getDB(“myDatabase”)

然后进行身份验证

db.auth(用户,通过)


这也可能取决于您使用的shell版本。我没有看到任何关于在最新版本中使用副本集连接的文档,因此我不知道它是否已被弃用或只是不再被提及。希望这有帮助

很高兴它起作用了。你可能也想试试
Mongo(“主机:端口/?复制集=名称”)
这似乎是现在记录的连接到副本的方法。