it-swarm.com.de

Wie kann man mehr als 20 Elemente (Dokumente) in der MongoDB-Shell ausdrucken?

db.foo.find().limit(300)

werde es nicht tun Es werden immer noch nur 20 Dokumente gedruckt.

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

druckt sowohl die sehr erweiterte Ansicht jedes Dokuments als der einzeiligen Version für find() aus:

227
331
Thilo

Wenn Sie in der Shell alle Ergebnisse anzeigen möchten, können Sie db.collection.find().toArray() ausführen, um alle Ergebnisse ohne zu erhalten.

126
Sridhar

Sie können it in der Shell verwenden, um die nächsten 20 Ergebnisse zu durchlaufen. Geben Sie einfach it ein, wenn Sie "hat mehr" angezeigt werden, und Sie sehen die nächsten 20 Elemente.

96
halfdan

Könnte immer tun:

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

Um diese kompakte Ansicht zu erhalten.

Ich finde es auch sehr nützlich, die von der Suche zurückgegebenen Felder so einzuschränken:

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

das würde nur das Feld _id und name von foo zurückgeben.

35
Wilfred Knievel

Ich empfehle Ihnen, eine ~/.mongorc.js-Datei zu haben, damit Sie nicht jedes Mal die Standardgröße festlegen müssen.

 # execute in your terminal
 touch ~/.mongorc.js
 echo 'DBQuery.shellBatchSize = 100;' > ~/.mongorc.js
 # add one more line to always prettyprint the ouput
 echo 'DBQuery.prototype._prettyShell = true; ' >> ~/.mongorc.js

Um mehr darüber zu erfahren, was Sie sonst noch tun können, schlage ich vor, diesen Artikel zu lesen: http://mo.github.io/2017/01/22/mongo-db-tips-and-tricks.html

1
new_user

Wenn der zurückgegebene Cursor in der Mongo-Shell mit dem Schlüsselwort var keiner Variablen zugewiesen ist, wird der Cursor automatisch durchlaufen, um auf die ersten 20 Dokumente zuzugreifen, die der Abfrage entsprechen. Sie können die DBQuery.shellBatchSize-Variable so einstellen, dass die Anzahl der automatisch durchlaufenden Dokumente geändert wird.

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

0
Harsh Raj