作者:手机用户2502936713 | 来源:互联网 | 2023-06-20 14:51
MongoDB数据库多表查询数据
之前在Robo 3T里通过 $lookup可以把2个表关联
相关代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| db.users.aggregate([
{ $match :
{ regDate : { "$gte" : ISODate("2018-05-01T00:00:00Z"), "$lt" : ISODate("2018-05-31T00:00:00Z") } }
},
{
$project :
{
'_id':1,
'regDate':1,
'totalRecharge':1,
'jcode':1
}
},
{
$lookup:
{
"from":"recharge",
"localField":"_id",
"foreignField":"uid",
"as":"recharge"
}
},
{ $match : {"recharge.from" : "weixin"}},
{ $match : {"recharge.from" : "alipay"}},
{ $match : {"recharge.rechargeDate" : {"$gte" : ISODate("2018-05-01T00:00:00Z"), "$lt":ISODate("2018-05-31T00:00:00Z")}}}, |
])
users是用户表,recharge是充值表,用户表里没有充值金额(real)以及充值日期(rechargeDate),充值表里没有用户注册时间。
想查询哪些是充值用户和在时间范围内(注册1周、3周等)之内哪些充值过。