2014-04-29 107 views
0

我不知道這是一個重複的問題或沒有(我不這麼認爲),但其對我來說非常有趣的問題:MongoDB的自定義字段查詢

在SQL我們可以創建自定義字段,並把它放在結果:

SELECT *.p, totalOrder=(SELECT sum(price) from orders where id=p.id) 

FROM products p;

所以結果是包含totalSales值的產品列表。

什麼是NoSQL(MongoDB)中的最佳方法, 我確定我們應該有兩種類型的文檔(產品和訂單),所以我知道我們沒有Join,但問題是我們是否有自定義字段分配尋找查詢?

回答

1

當您使用aggregation時,您的$project操作就是如此。它用於重命名字段或通過some simple operators導出字段值。但是和往常一樣,MongoDB無法從其他集合中獲取任何數據。

當你需要做一些過於複雜的事情來表達聚合時,你可以使用MapReduce並用Javascript構建你的輸出文檔。但是,再次,沒有突破收集。