我查询单个collection用:
flt = {'datetime': {'$gte': datetime(2017,12,12)}}
dbCusor = collection.find(flt).sort('datetime')
现在要查询多个collection的这一时间段的数据,并把这些数据按时间顺序放到一起,
怎么办,只能遍历比较再放数组里了吗?
我查询单个collection用:
flt = {'datetime': {'$gte': datetime(2017,12,12)}}
dbCusor = collection.find(flt).sort('datetime')
现在要查询多个collection的这一时间段的数据,并把这些数据按时间顺序放到一起,
怎么办,只能遍历比较再放数组里了吗?
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答2k 阅读✓ 已解决
先问一个问题,如果放在关系数据库,这个需求你准备怎么做?先
UNION
再ORDER BY
?做是能做到,但是是一个无法使用索引的内存排序,效率可想而知。如果从效率出发(没有说明,所以并不知道效率是不是你的第一关注点),这些数据既然是要放在一起排序的,说明它们有一定的内在联系,那么为什么不把它们放在一个集合里?MongoDB的无模式设计是支持你这样做的,并且在合适的场景下也建议这样做。不过这里也没提到实际的场景,所以无法进一步分析。