sql >> Base de Datos >  >> NoSQL >> MongoDB

Ejecutar consultas avanzadas de MongoDB en R con rmongodb

O c() o list() pueden estar bien. Depende de si los componentes tienen nombre y si todos tienen el mismo tipo (para la lista). Lo mejor que puede hacer es mirar el BSON generado y ver si está obteniendo lo que desea. Para el mejor control del objeto generado, use mongo.bson.buffer y las funciones que operan en él. De hecho, esta es la razón por la cual las subconsultas están fallando. 'comentarios' se crea como un subobjeto en lugar de una matriz. mongo.bson.from.list() es útil pero no le da el mismo control y, a veces, adivina mal qué generar a partir de estructuras complicadas.

Sin embargo, la consulta sobre el otro conjunto de datos se puede corregir así:

buf <- mongo.bson.buffer.create()
mongo.bson.buffer.start.object(buf, "name.first")
mongo.bson.buffer.append(buf, "$in", c("Alex", "Horst"))
mongo.bson.buffer.finish.object(buf)
criteria <- mongo.bson.from.buffer(buf)

Tenga en cuenta que definitivamente necesita usar un búfer aquí ya que R se atragantará con el nombre punteado.

Espero que esto solucione tu problema. Hazme saber si tienes más preguntas.