2014-04-29 106 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构建你的输出文档。但是,再次,没有突破收集。