我有3个集合,我想执行类似于SQL查询的查询,如
SELECT fp.userId, fp.orderId, productId, fp.request_Payment_ChargeTotal,
fp.createdOn, u.referrerSite, COUNT(*),
sum( fp.request_Payment_ChargeTotal ) AS total
FROM `firstdata_payment_webservice` fp, userlicenses ul, users u
WHERE u.userId = ul.userId
AND fp.response_TransactionResult = 'APPROVED'
AND fp.request_Payment_ChargeTotal > 0
AND ul.orderId = fp.orderId AND fp.createdOn
BETWEEN cast( '2011-09-10' AS DATETIME )
AND cast( '2011-09-20' AS DATETIME )
GROUP BY u.referrerSite, productId WITH ROLLUP
我如何在教义mongodb odm中进行类似的操作。
答案 0 :(得分:0)
好吧,应用“JOIN”不是MongoDB的目的。因此,您必须以不同方式构建数据。
db.users
db.orders
使用MapReduce,您可以通过查询订单表来计算其他内容。 如果您需要有关客户的数据,请使用您正在寻找的一组用户ObjectIds在另一个查询中执行此操作。