Github project : https://github.com/saagie/example-R-read-and-write-from-mongodb
Official documentation
This example is based on the mongolite R package. The github for this package with other exemples is available at this address : https://github.com/jeroenooms/mongolite, and the CRAN page with full documentation is here : https://cran.r-project.org/web/packages/mongolite/mongolite.pdf.
Dependencies
R package
mongolite : https://cran.r-project.org/web/packages/mongolite/index.html
Used to interact with MongoDB.
Linux package
libssl-dev & libsasl2-dev (needed for the mongolite package.)
if (!require(mongolite)) {
# Install system dependencies
system("sudo apt-get install -y libssl-dev libsasl2-dev")
install.packages("mongolite")
library(mongolite)
}
Parameters
If a special character is present in the username or password (e.g. '%', '@', ...). The conversion table is available here : http://www.w3schools.com/tags/ref_urlencode.asp
- user
- password
- ip
- port : default port is 27017
- authentificationDatabase : The authentification database is sometimes different from the database where the collections are
- database : Database where the collections are
- collection : Can be a new collection to create it
- data : data to write to MongoDB
- Code explaination
Connection
# Build the connection uri from the parameters above
uri <- paste0("mongodb://", user, ":", password, "@", ip, ":", port, "/", authentificationDatabase)
# Connect to the database
con <- mongo(collection = collection, db = database, url = uri)
Count
# Count the number of documents in the collection
con$count()
Insert
# Insert new data in the collection
con$insert(data)
Find
# Read data from the collection
con$find()
Find with mongo query
# Read data from any valid mongo query
con$find('{"cyl" : 6, "mpg" : { "$gt" : 20}}')
Comments
0 comments
Article is closed for comments.