我有100份客户数据文档。每个文档中都有300个事务。因此,总共有100个客户的3000笔交易。
现在,如果我需要检索最近完成的前10个事务,而不考虑任何客户,我如何使用MongoDB和Java来做到这一点?请
示例:
{
'customer':{
'custId':111,
...
...,
{
'transactions':{
'tid':'t001',
'tname':'purchase',
'amt':'5000'
},
'transactions':{
'tid':'t002',
'tname':'credit',
'amt':'15000'
},
'transactions':{
'tid':'t001',
'tname':'debit',
'amt':'6500'
}
}
},
'customer':{
'custId':112,
...
...
{
'transactions':{
'tid':'t011',
'tname':'purchase',
'amt':'51000'
},
'transactions':{
'tid':'t002',
'tname':'credit',
'amt':'15200'
},
'transactions':{
'tid':'t001',
'tname':'debit',
'amt':'6509'
}
}
}
'customer':{
'custId':113,
...
...
{
'transactions':{
'tid':'t001',
'tname':'purchase',
'amt':'5900'
},
'transactions':{
'tid':'t3302',
'tname':'credit',
'amt':'18000'
},
'transactions':{
'tid':'t401',
'tname':'debit',
'amt':'5800'
}
}
}
...
}
Expected Result:
Top 10 transactions details from 100 customers 发布于 2016-06-14 23:11:03
您是在寻找java代码,还是仅仅在寻找查询?考虑到您无论哪个客户都想要它,这应该是可行的吗?(如果您不希望对其进行排序,请删除排序块。
db.emplog.find({},{"customer.transactions":1,"_id":0}).sort({"customer.transactions":-1}).limit(10)https://stackoverflow.com/questions/37803667
复制相似问题