Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

997
Visualizações
Canalice la salida de mongosh MongoDB Shell al archivo de salida (Windows)

Estoy usando la herramienta mongosh actual para ejecutar consultas de Mongo que pueden devolver conjuntos de resultados muy grandes, que podrían no caber en el búfer del símbolo del sistema (e incluso si lo hicieran, copiar dichos resultados a mano llevaría mucho tiempo y sería propenso a errores) . Por lo tanto, me gustaría tener la capacidad de:

  • canalizar la salida de mongosh a un archivo de texto, y
  • también pase un script o consulta de Mongo para ejecutar desde la línea de comando

Aquí está el comando que estoy ejecutando actualmente (detalles enmascarados):

 mongosh "mongodb://10.20.30.40:26017" --username my_username --password my_password --authenticationDatabase my_database > output.txt

Esta es la salida actual que veo en output.txt :

 Current sessionID: 1ee96e0f6025ec328ea25ccc Connecting to: mongodb://10.20.30.40:26017 Using MongoDB: 3.4.13 Using Mongosh Beta: 0.0.6 For more information about mongosh, please see our docs: https://docs.mongodb.com/mongodb-shell/ [1G[0J> [3G

Entonces parece que la redirección al archivo de salida está funcionando. Sin embargo, parece que no puedo entender cómo especificar un script de Mongo con una consulta real a la herramienta de línea de comandos. Por ejemplo, si quisiera especificar la siguiente consulta de conteo simple, ¿cómo lo haría?

 db.getCollection('my_collection').count();

Idealmente, me gustaría que output.txt solo tenga una sola línea con el recuento de esta colección.

La herramienta de línea de comandos anterior de mongo parecía tener varias formas de canalizar una consulta, por ejemplo, especificando un script o usando la opción --eval . La documentación de mongosh afirma que esta herramienta está en modo Beta y admite algún subconjunto de la funcionalidad de mongo . ¿Es compatible con la capacidad de pasar una consulta?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Mientras tanto, esto también funciona con el nuevo mongosh , asegúrese de descargar la última versión (1.1.9 o más reciente)

 echo "db.getCollection('my_collection').countDocuments({});" | mongosh --norc --quiet > output.txt mongosh --norc --quiet > output.txt <<EOF db.getCollection('my_collection').countDocuments({}); EOF mongosh --norc --quiet --eval "db.getCollection('my_collection').countDocuments({})" > output.txt

Tenga en cuenta que con el shell mongo clásico recibe esta advertencia:

 ================ Warning: the "mongo" shell has been superseded by "mongosh", which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in an upcoming release. We recommend you begin using "mongosh". For installation instructions, see https://docs.mongodb.com/mongodb-shell/install/ ================

lo cual no es cierto en mi opinión, todavía no veo a new mongosh como sucesor de mongosh . Pero tengo que admitir que cada vez es mejor.

La única forma de deshacerse de esta advertencia es la opción --eval .

over 4 years ago · Santiago Trujillo Relatório

0

Lo siguiente funciona en mongo (todavía tengo que probarlo con mongosh)

 mongo --eval "db=db.getSiblingDB('DB NAME'); printjson(db.COLLECTION.findOne())" > output.txt --quiet

Entonces el tuyo se convertiría en:

 mongo "mongodb://10.20.30.40:26017" --username my_username --password my_password --authenticationDatabase my_database --eval "db=db.getSiblingDB('my_database'); printjson(db.my_collection.count())" > output.txt --quiet
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda