目前我正在使用Java進行項目工作,並且需要使用Java運行JavaScript Mongo查詢。我想通過使用db.eval()
可以做類似的事情。問題是我對Mongo有以下JavaScript查詢,我不知道如何將整個腳本傳遞給db.eval()
方法。mongodb javascript查詢
var red = function(doc, out) {
out.count_order++;
out.sum_qty += doc.quantity;
out.sum_base_price += doc.extendedprice;
out.sum_disc_price += doc.extendedprice * (1 - doc.discount);
out.sum_charge += doc.extendedprice * (1 - doc.discount) * (1 + doc.tax);
out.avg_disc += doc.discount
};
var avg = function(out) {
out.avg_qty = out.sum_qty/out.count_order;
out.avg_price = out.sum_base_price/out.count_order;
out.avg_disc = out.avg_disc/out.count_order
};
db.deals.group({
key : { RETURNFLAG : true, LINESTATUS : true},
cond : { "SHIPDATE" : {$lte: new Date(1998, 8, 1)}},
initial: { count_order : 0, sum_qty : 0, sum_base_price : 0, sum_disc_price : 0,
sum_charge : 0, avg_disc : 0},
reduce : red,
finalize : avg
});
我沒有使用MongoDB,但我想你可以把這個'String'放在一個'StringBuilder'中併發送到你的'db.eval()'方法。 – 2013-04-26 15:54:20