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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

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
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.