db.inventory.insertMany([
{ item: "journal", qty: 25, size: { h: 14, w: 21, uom: "cm" }, status: "A" },
{ item: "journal", qty: 50, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
{ item: "paper", qty: 100, size: { h: 8.5, w: 11, uom: "in" }, status: "A" },
{ item: "planner", qty: 75, size: { h: 22.85, w: 30, uom: "cm" }, status: "D" },
{ item: "postcard", qty: 45, size: { h: 10, w: 15.25, uom: "cm" }, status: "A" }
]);
# 合计
db.inventory.mapReduce(
function(){
emit(this.item,this.qty);
},
function(key,values){
return Array.sum(values);
},
{
query:{status:"A"},
out:"inventory_totals"
}
)
# 平均值
db.inventory.mapReduce(
function(){
emit(this.item,this.qty);
},
function(key,values){
return Array.avg(values);
},
{
query:{status:"A"},
out:"inventory_avg"
}
)
https://api.mongodb.com/js/3.3.11/symbols/Array.html