Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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_Mongo Shell - Fatal编程技术网

Mongodb Mongo shell用于连接多台主机

Mongodb Mongo shell用于连接多台主机,mongodb,mongo-shell,Mongodb,Mongo Shell,是否有连接到两台mongo主机的方法。 基本上,我们在两个独立的服务器中有两个mongo DBs。我们需要根据第二个更新第一个中的数据。我们有没有办法做到这一点我认为使用mongoshell是不可能做到的。仅当Mongo的多个实例位于一个副本集中时,它才可以处理这些实例 您应该使用Mongo驱动程序(例如,mongoose for JS或MongoDB driver for Java)创建一个连接到您的Mongos的应用程序,然后根据需要实现数据更新。是的,这是可能的,但Mongoshell中的

是否有连接到两台mongo主机的方法。
基本上,我们在两个独立的服务器中有两个mongo DBs。我们需要根据第二个更新第一个中的数据。我们有没有办法做到这一点

我认为使用
mongoshell
是不可能做到的。仅当Mongo的多个实例位于一个副本集中时,它才可以处理这些实例


您应该使用Mongo驱动程序(例如,mongoose for JS或MongoDB driver for Java)创建一个连接到您的Mongos的应用程序,然后根据需要实现数据更新。

是的,这是可能的,但Mongoshell中的许多漂亮语法都不起作用,而且连接函数似乎不处理副本集,因此,您需要自己找到主要目标

您可以使用
connect
功能建立与多台服务器的连接,如:

var connection1 = connect("server1:27017")
var connection2 = connect("server2:27017")
但是您将无法使用
use
show
命令或
rs
对象。相反,您需要使用成员函数和数据库命令

例如,要列出数据库,请执行以下操作:

connection1.adminCommand("listDatabases")
要获取数据库引用,请执行以下操作:

var mydb = connection1.getSiblingDB("mydbname");
var otherdb = connection2.getSiblingDB("myotherdbname");
查找操作等,然后看起来相当正常:

mydb.collection.find({field: value});
otherdb.collection.insert({newfield: value});