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