2013-04-17 83 views
0

對於下面的命令:MongoDB:有沒有一種方法來調整輸出?

db.my_items.aggregate({ 
    $match: { 
     // ... 
    } 
},{ 
    $project: { 
     _id: 0, 
     myField: 1 
    } 
}).result.forEach(function(obj) { 
    print(obj.myField) 
}) 

是否有執行從aggregate查詢裏面的forEach的方法嗎?

+0

你想要在查詢中實現的foreach是什麼?我好像正在輸出你正在做的事,你無法從查詢中打印到屏幕。 – Sammaye

+0

@Sammaye只是因爲我想享受以完全正確的格式返回數據,使'forEach'循環冗餘 – BreakPhreak

+0

不幸的是,atm返回必須是BSON文檔,所以即使您可以將該foreach放入查詢本身它必須將「返回」作爲BSON文檔返回,這需要依次對其進行處理。 – Sammaye

回答

0

由於MongoDB響應你想做的事情是不可能的。 MongoDB接受輸入並用BSON文件迴應,這實際上是你在這裏得到的回報。

由於即使您可以將forEach放入查詢本身,MongoDB也需要返回BSON文檔,您將需要額外的返回foreach來迭代BSON文檔返回。

+0

所以只是爲了記錄 - 「請」mongo以所需格式返回查詢的正確方法是什麼?問一個關於如何利用'mongoexport'的例子可以嗎?如果沒有給出答案並且非常感謝,那我也可以。 – BreakPhreak

+1

@BreakPhreak這取決於你如何使用它,如果你在應用程序中使用它,那麼mongoexport可能很難,但如果你使用這個作爲管理函數來獲取數據,那麼mongoexport可以工作 – Sammaye

+0

謝謝!打開以下後續問題:http://stackoverflow.com/questions/16078215/how-to-put-the-following-through-mongoexport – BreakPhreak

相關問題