鍍金池/ 問答/Python  數(shù)據(jù)庫/ Mongodb怎么快速查詢多個collection的數(shù)據(jù),并把集合按時間順序排序

Mongodb怎么快速查詢多個collection的數(shù)據(jù),并把集合按時間順序排序?

我查詢單個collection用:

flt = {'datetime': {'$gte': datetime(2017,12,12)}}
dbCusor = collection.find(flt).sort('datetime') 

現(xiàn)在要查詢多個collection的這一時間段的數(shù)據(jù),并把這些數(shù)據(jù)按時間順序放到一起,

怎么辦,只能遍歷比較再放數(shù)組里了嗎?

回答
編輯回答
浪婳

先問一個問題,如果放在關系數(shù)據(jù)庫,這個需求你準備怎么做?先UNIONORDER BY?做是能做到,但是是一個無法使用索引的內存排序,效率可想而知。
如果從效率出發(fā)(沒有說明,所以并不知道效率是不是你的第一關注點),這些數(shù)據(jù)既然是要放在一起排序的,說明它們有一定的內在聯(lián)系,那么為什么不把它們放在一個集合里?MongoDB的無模式設計是支持你這樣做的,并且在合適的場景下也建議這樣做。不過這里也沒提到實際的場景,所以無法進一步分析。

2018年6月27日 10:34