所以我有一个数据库架构:
{
"_id" : ObjectId("5a310e7c202c89656807819e"),
"customerId" : "A1284",
"name" : "CA Technologies",
"firstOrder" : 2012,
"tenure" : 5,
"sales" : [
{
"year" : 2014,
"amount" : 130269
},
{
"year" : 2015,
"amount" : 139387.83
},
{
"year" : 2016,
"amount" : 156114.3696
},
{
"year" : 2017,
"amount" : 170164.6629
}
],
"averageSales" : 148983.96562499998,
"rebate" : 59593.58624999999,
"discount" : 8508.233145,
"state" : "FL",
"membershipCode" : 4,
"totalSales" : 595935.8624999999
} 我如何从这样的数据中提取信息: 什么客户在纽约的总销售额最高。用customerId回答
答案 0 :(得分:0)
您可以按降序排列 totalSales 的商品,并获得第一个结果。
db.customers.find({state: "NY"}, {customerId: 1}).sort({totalSales: -1}).limit(1)
要限制返回字段的数量,可以使用投影并仅指定customerId。