sql >> Database >  >> NoSQL >> MongoDB

Mongo-query-uitvoer afdrukken naar een bestand terwijl deze zich in de mongo-shell bevindt

AFAIK, er is geen interactieve optie voor uitvoer naar bestand, er is een eerdere SO-vraag die hiermee verband houdt:Mongodb shell-uitvoer afdrukken naar bestand

U kunt echter alle shell-sessies loggen als u de shell aanroept met het tee-commando:

$ mongo | tee file.txt
MongoDB shell version: 2.4.2
connecting to: test
> printjson({this: 'is a test'})
{ "this" : "is a test" }
> printjson({this: 'is another test'})
{ "this" : "is another test" }
> exit
bye

Dan krijg je een bestand met deze inhoud:

MongoDB shell version: 2.4.2
connecting to: test
> printjson({this: 'is a test'})
{ "this" : "is a test" }
> printjson({this: 'is another test'})
{ "this" : "is another test" }
> exit
bye

Om alle opdrachten te verwijderen en alleen de json-uitvoer te behouden, kunt u een opdracht gebruiken die lijkt op:

tail -n +3 file.txt | egrep -v "^>|^bye" > output.json

Dan krijg je:

{ "this" : "is a test" }
{ "this" : "is another test" }


  1. Het valideren van de uniciteit van een ingesloten document dat door het bovenliggende document in mangoest wordt begrensd

  2. MongoDB-prestaties volgen?

  3. MongoDB $oid versus ObjectId

  4. Moeten twee modules dezelfde redis-verbinding gebruiken? (Ik werk met Flask)