Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
Anonymous
Not applicable

Mongodb connection using r scripts

Hello All,

I'm trying to connect to mongodb having SSH credentials but facing problem to connect using mongolite package.

But at the same time to my local mongodb using credentials I'm able to connect. Any help on this?

Regards,
Sud
1 ACCEPTED SOLUTION
v-fengyz-msft
Helper I
Helper I

@Anonymous

 

What’s the error message you got?

 

By default, MongoDB is not allowed to remote access, you need to enable remote access by modifying mongod.conf file.  

 

See:  MongoDB – Allow remote access

 

Then to connect to MongoDB via an SSH tunnel, we need to setup the tunnel separately with an SSH client.  

 

For example the mongolite manual contains this example:

 

con <- mongo("mtcars", url = "mongodb://readwrite:test@ds043942.mongolab.com:43942/jeroen_test")

  

Assume we want to tunnel through dev.opencpu.org which runs an SSH server on the standard port 22 with username jeroen. To initiate a tunnel from localhost:9999 to ds043942.mongolab.com:43942 via the ssh server dev.opencpu.org:22, open a terminal and run:

 

ssh -L 9999:ds043942.mongolab.com:43942 jeroen@dev.opencpu.org -vN -p22

  

At last, we can connect to our ssh client which tunnel traffic to MongoDB server. In this example we run the ssh client on localhost port 9999:

 

con <- mongo("mtcars", url = "mongodb://readwrite:test@localhost:9999/jeroen_test")

 

con$insert(mtcars)

 

For more information, please check : SSH Tunnel

 

Regards,

Pirlo Zhang

View solution in original post

1 REPLY 1
v-fengyz-msft
Helper I
Helper I

@Anonymous

 

What’s the error message you got?

 

By default, MongoDB is not allowed to remote access, you need to enable remote access by modifying mongod.conf file.  

 

See:  MongoDB – Allow remote access

 

Then to connect to MongoDB via an SSH tunnel, we need to setup the tunnel separately with an SSH client.  

 

For example the mongolite manual contains this example:

 

con <- mongo("mtcars", url = "mongodb://readwrite:test@ds043942.mongolab.com:43942/jeroen_test")

  

Assume we want to tunnel through dev.opencpu.org which runs an SSH server on the standard port 22 with username jeroen. To initiate a tunnel from localhost:9999 to ds043942.mongolab.com:43942 via the ssh server dev.opencpu.org:22, open a terminal and run:

 

ssh -L 9999:ds043942.mongolab.com:43942 jeroen@dev.opencpu.org -vN -p22

  

At last, we can connect to our ssh client which tunnel traffic to MongoDB server. In this example we run the ssh client on localhost port 9999:

 

con <- mongo("mtcars", url = "mongodb://readwrite:test@localhost:9999/jeroen_test")

 

con$insert(mtcars)

 

For more information, please check : SSH Tunnel

 

Regards,

Pirlo Zhang

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.