sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man får mongo shell output (tre prickar) för oavslutat kommando

Din kod innehåller inget som skriver till stdin för din underordnade process så jag skulle bli förvånad om du fick ellipsen som indikerar ofullständigt kommando när du faktiskt inte skickar något kommando alls - ofullständigt eller inte.

Som sagt, många kommandoradsverktyg beter sig annorlunda när de upptäcker en riktig terminal ansluten till deras stdin/stdout. T.ex. git-logg kommer att söka resultaten när du kör det direkt men inte när du skickar resultaten till något annat kommando som git log | katt så detta kan också vara fallet här.

Detta kan också ha att göra med buffringen - om din stream är linjebuffrad kommer du inte att se någon rad som inte avslutas med en ny rad direkt.

Den verkliga frågan är:ser du > prompt? Skickar du något kommando till mongoskalet?

Att skriva interaktiva CLI-verktyg kan vara knepigt. T.ex. se vad jag behövde göra för att testa ett mycket enkelt interaktivt program här:

Jag var tvungen att skapa två namngivna pipes, se till att stdin, stderr och stdout inte är buffrade och sedan använda några andra knep för att få det att fungera. Det är ett skalskript men det är bara för att visa dig ett exempel.




  1. Mongo DB Java 3.x-drivrutin - Gruppera efter fråga

  2. MongoDB-summamatriser från flera dokument per element

  3. Power BI-integration med Spring Angular

  4. MongoDB atomic findOrCreate:findOne, infoga om det inte finns, men uppdatera inte