MongoDB数据库多表查询数据之前在Robo 3T里通过 $lookup可以把2个表关联相关代码db.getCollection('users').find(
{ "regDate": {"$gte":ISODate("2018-07-01T00:00:00Z"),"$lt":ISODate("2018-07-31T00:00:00Z")}, "rechargeDate": {"$gte":ISODate("2018-07-01T00:00:00Z"),"$lt":ISODate("2018-07-31T00:00:00Z")},
}
)
db.users.aggregate([
{ $lookup:
{ "from":"recharge", "localField":"nickname", "foreignField":"real", "as":"recharge_users"
}
}
])users是用户表,recharge是充值表,用户表里没有充值金额(real)以及充值日期(rechargeDate),充值表里没有用户注册时间。想查询哪些是充值用户和在时间范围内(注册1周、3周等)之内哪些充值过。
2 回答
慕的地8271018
TA贡献1796条经验 获得超4个赞
这个要求本身就有些强人所难,非关系型数据库对多表查询这种复杂的查询方式都是乏善可陈的,也要尽量避免这种查询方式,建议与 ES 配合使用,或者将查询结果缓存。
- 2 回答
- 0 关注
- 1223 浏览
添加回答
举报
0/150
提交
取消