Mongodb Mongo shell用于连接多台主机
是否有连接到两台mongo主机的方法。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 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});