2013-03-07 15 views
5

come parte della mia manutenzione mongoDB Sto eseguendo mongo shell e lo faccio per caricare 2 script. Il comando sto correndo si presenta come segue:Ottieni output di script mongo shell

$MONGO_HOME/bin/mongo --verbose --port 27017 replSetConfig.js initializeReplicaSet.js

L'output che ho ottenuto è:

MongoDB shell version: 2.2.3 
Thu Mar 7 03:00:00 versionCmpTest passed 
Thu Mar 7 03:00:00 versionArrayTest passed connecting to: 127.0.0.1:27017/test 
Thu Mar 7 03:00:01 creating new connection to:127.0.0.1:27017 
Thu Mar 7 03:00:01 BackgroundJob starting: ConnectBG 
Thu Mar 7 03:00:01 connected connection! 
loading file: js/replSet.config.js 
loading file: js/initializeReplicaSet.js 

Sto reindirizzando l'output in un file di log, ma vorrei per vedere anche alcuni output degli script caricati. Cioè l'output che vedo nella shell se lo avvio e chiamo load("...") per gli stessi script. C'è un modo per catturare l'output?

Grazie

+1

Credo di non aver capito bene la domanda. Ma io uso 'printjson()' nei file mongoscript per la registrazione. –

+0

Sembra che sarà dove andrò a finire ... È adatto per alcune situazioni, ma non vedo come fare per accedere ad es. il comando rs.intitate() che sto chiamando nello script ...? Questo è ciò che sto chiamando nella sceneggiatura e non vedo come ottenere il risultato. Posso entrare rs.status() dopo il comando, ma nel non lo dirò perché non è riuscito (se non) –

+1

Per ottenere l'output di uno script è necessario specificare print() o printjson() dichiarazioni altrimenti MongoDB rimarrà in silenzio. – Sammaye

risposta

11

Per aggiungere l'uscita di script è necessario utilizzare print() o printjson() dichiarazioni altrimenti MongoDB rimarrà tranquilla di qualsiasi output di uno script.

+0

Ha, trovato che si può effettivamente fare printjson (rs.initiate (config)); per esempio quindi questo è in realtà quello che stavo cercando. –

+0

Mi hai salvato un sacco di dolore! Grazie! – thermz

Problemi correlati