2010-09-14 5 views

Répondre

285
+0

Y at-il un moyen de rendre cela persistant? –

+2

@LukaszWiktor Oui, vous pouvez créer un fichier $ HOME/.mongorc.js et y mettre le paramètre shellBatchSize. le mien a le paramètre de taille de lot de requête et rs.slaveOk() activé. Son utilisation est également légèrement différente lors de l'utilisation de --eval via la ligne de commande. voir: https://docs.mongodb.com/manual/mongo/#mongorc-js-file –

+0

C'est génial! Merci @matiaselgart –

102

Vous pouvez utiliser it à l'intérieur de la coque pour itérer au cours des 20 prochains résultats. Il suffit de taper it si vous voyez "a plus" et vous verrez les 20 prochains articles.

+29

oh il est vraiment sur la façon d'imprimer tout sans utiliser 'Merci Halfdan –

+12

il s', vous deux fois votre nom d'utilisateur dit que vous êtes! –

+4

L'idée générale est de ne pas utiliser l'itérateur –

101

À partir du shell si vous voulez afficher tous les résultats que vous pourriez faire db.collection.find().toArray() pour obtenir tous les résultats sans elle.

+0

Cela m'a aidé :) – GeekedOut

+0

Ceci. Si vous voulez juste tout dans une coquille, vous pouvez couper et coller, c'est suffisant. – superluminary

+0

Celui-ci est plus utile – anwerj

32

pourrait toujours faire:

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

Pour obtenir ce point de vue compact.

De plus, je trouve très utile de limiter les champs retournés par le trouver si:

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

qui ne revenait que le _id et le champ de nom de foo.

+1

J'aime ça car il peut être exécuté en script shell (client mongo avec '--eval') –

+1

@ZhengKai si vous utilisez un script et pas dans le shell alors shellBatchSize n'est pas pertinent car vos résultats ne seront pas itérée pour vous par la coquille, vous devrez le faire vous-même. –

+0

Le tojson() était exactement ce que je cherchais pour le convertir depuis DBQuery merci! –

0

Dans le shell mongo, si le curseur renvoyé n'est pas affecté à une variable à l'aide du mot-clé var, le curseur est automatiquement itéré pour accéder aux 20 premiers documents correspondant à la requête. Vous pouvez définir la variable DBQuery.shellBatchSize pour modifier le nombre de documents itérés.

Référence - https://docs.mongodb.com/v3.2/reference/method/db.collection.find/

Questions connexes