我正在爲32位Windows7機器使用MongoDB 2.2.2。我在.js文件中有一個複雜的聚合查詢。我需要在shell上執行此文件並將輸出指向CSV文件。我確保查詢返回一個「扁平」json(沒有嵌套鍵),所以它本質上可以轉換爲整齊的csv。我知道load()
和eval()
。 eval()
需要我將整個查詢粘貼到shell中,並且只允許在腳本中使用printjson()
,而我需要csv。第二種方式:load()
..它將輸出顯示在屏幕上,並再次以json格式顯示。
有沒有一種方法可以做Mongo從json到csv的這種轉換? (我需要csv文件來準備數據圖表)。我在想:
1. mongo有一個內置的命令,我現在找不到。
2.蒙戈不能爲我做;我最多可以將json輸出發送到一個文件,然後我需要將它自己轉換爲csv。
3. Mongo可以將json輸出發送到一個臨時集合,其中的內容可以很容易地以mongoexported
轉換爲csv格式。但我認爲只有map-reduce查詢支持輸出集合。是對的嗎?我需要它來進行聚合查詢。將mongo查詢的輸出重定向到csv文件
感謝所有幫助:)
如果這事你頻繁,你可能會考慮寫使用.NET一個獨立的EXE我們已要求,python,或者你可以使用NodeJs;每個都有一個本地驅動程序,可以很容易地執行代碼並生成所需的輸出。 – WiredPrairie
我指的是Zachary的答案http://stackoverflow.com/questions/4130849/convert-json-format-to-csv-format-for-ms-excel,我可以從json轉換爲csv。但作爲一種選擇,我可以輸出json到一個集合,然後做一個mongoexport? –
我建議你只需使用Node和NodeJS的MongoDB驅動程序構建一個小線束,然後就可以執行任何你想要的代碼。你會很快得到你想要的結果,而不需要shell。這將是非常可維護的(和可調試的)。 – WiredPrairie