Estoy tratando de apuntar mi código R a mi mongodb.
Tengo un config.yml :
default: host: "cluster0.qixym.mongodb.net" username: "****" password: "****" production: host: "cluster0.qixym.mongodb.net" username: "****" password: "****"Aquí está mi código:
# MONGO DB TRAINING ----- # Version 1 # LIBRARIES ---- library(mongolite) # Resource: https://jeroen.github.io/mongolite/ library(jsonlite) library(config) library(tidyverse) library(lubridate) # 1.0 CONNECTION TO REMOTE MONGODB ---- # Setup config Package & database YAML Sys.setenv(R_CONFIG_ACTIVE = "default") config <- config::get(file = "config.yml") mongo_connect <- function(collection, database, username = config$username, password = config$password, host = config$host){ mongo( collection = collection, url = str_glue("mongodb+srv://{username}:{password}@{host}/{database}/?tls=true"), options = ssl_options(weak_cert_validation = T) ) } # Connect to MongoDB Atlas Cloud Database mongo_connect(collection = "mtcars", database = "rstats")Obtuve el siguiente error:
** Error en (función (uri = "mongodb://127.0.0.1", pem_file = NULL, pem_pwd = NULL, : error al analizar URI: p (Nombre de base de datos no válido en URI) **
Miré este hilo pero no pude encontrar una solución: https://github.com/jeroen/mongolite/issues/219
¡Entonces el código anterior funciona!
¡El problema era que tenía caracteres especiales en mi contraseña!
https://docs.mongodb.com/manual/reference/connection-string/#components