2010-09-14 9 views

Respuesta

285
+0

¿Hay alguna manera de que esto sea persistente? –

+2

@LukaszWiktor sí, puede crear un archivo $ HOME/.mongorc.js y poner esa configuración de shellBatchSize allí. el mío tiene la configuración de tamaño de lote de consulta y rs.slaveOk() habilitado. su uso también es ligeramente diferente cuando se usa --eval a través de la línea de comandos. ver: https://docs.mongodb.com/manual/mongo/#mongorc-js-file –

+0

¡Eso es genial! Gracias @matiaselgart –

102

Puede utilizar it interior de la cáscara para iterar sobre los próximos 20 resultados. Simplemente escriba it si ve "tiene más" y verá los siguientes 20 artículos.

+29

oh que es realmente acerca de cómo imprimir todo ello sin el uso de 'it' –

+12

Gracias Halfdan, estás dos veces su nombre de usuario dice que usted es! –

+4

La idea general es NO utilizar el iterador –

101

Desde el shell si desea mostrar todos los resultados que podría hacer db.collection.find().toArray() para obtener todos los resultados sin él.

+0

Esto me ayudó :) – GeekedOut

+0

Esto. Si solo quieres que estén todos en un caparazón para poder cortar y pegar, esto es suficiente. – superluminary

+0

Este es más útil – anwerj

32

siempre se puede hacer:

db.foo.find().forEach(function(f){print(tojson(f, '', true));}); 

para conseguir que la vista compacta.

Además, me resulta muy útil para limitar los campos devueltos por el así encontrar:

db.foo.find({},{name:1}).forEach(function(f){print(tojson(f, '', true));}); 

que devolver sólo _ID y campo de nombre de foo.

+1

Me gusta de esta manera porque puede ejecutarse en script de shell (cliente mongo con '--eval') –

+1

@ZhengKai si está utilizando un script y no en el shell, entonces shellBatchSize no es relevante ya que sus resultados no serán repetido para usted por el caparazón, tendrá que hacerlo usted mismo. –

+0

¡El tojson() era exactamente lo que estaba buscando para convertir DBQuery gracias! –

0

En el shell mongo, si el cursor devuelto no está asignado a una variable con la palabra clave var, el cursor se itera automáticamente para acceder a los primeros 20 documentos que coinciden con la consulta. Puede establecer la variable DBQuery.shellBatchSize para cambiar la cantidad de documentos iterados automáticamente.

Referencia - https://docs.mongodb.com/v3.2/reference/method/db.collection.find/

Cuestiones relacionadas