que consultas complejas caracteristicas mongodb nosql

consultas - Conceptos básicos de los scripts de MongoDB-Cómo



mongodb caracteristicas (3)

Hay una función incorporada para imprimir un objeto json.

Simplemente agregue .forEach(printjson) al final de la llamada a la función.

db.foo.find().forEach(printjson);

¿Cuáles son los conceptos básicos de los scripts de MongoDB?

Creo que el script terminará con .js , y lo ejecutamos usando mongo try.js

Pero si pongo

print(db.foo.find())

en try.js y usa mongo try.js

dirá

MongoDB shell version: 1.6.1 connecting to: test DBQuery: test.foo -> undefined

y si uso la shell interactiva escribiendo mongo y tipeo

> db.foo.find() { "_id" : ObjectId("4c7a73428261000000003a7e"), "a" : 1 } > print(db.foo.find()) DBQuery: test.foo -> undefined

el {a : 1} fue algo que db.foo.insert({a:1}) anteriormente usando db.foo.insert({a:1})

¿Cuáles son las formas correctas de hacer los scripts de MongoDB y cómo imprimir cosas como un Ruby irb o el IDLE de Python? Gracias. (Ruby''s puts a.inspect o pa pueden imprimir la estructura completa de a generalmente (todos los nombres y valores de las variables en a ))

alert(db.foo.find()) y console.log(db.foo.find()) tampoco funcionarán.


Los archivos de script externos se ejecutan fuera del contexto del shell.

El comando de base de datos db.foo.find() solo devuelve un cursor; No imprime nada por sí mismo. Cuando se emita el comando desde el shell, el shell iterará el cursor e imprimirá los resultados. Cuando el comando se ejecuta desde un archivo de script externo, no se imprime nada.

El comando print() imprimirá la representación de cadena del objeto. En tu caso, es el cursor:

> print(db.foo.find()) DBQuery: test.foo -> undefined

Si necesita imprimir los resultados de la consulta, deberá iterar el cursor en su archivo de script e imprimir cada resultado, de manera similar a como lo hace la shell:

function printResult (r) { print(tojson(r)) } db.foo.find().forEach(printResult)


linux o mac shell:

user@comp:$ mongo < script.js