0
我在有日期的mongodb中有很多數據。通常這些日期在任何日期,但在10:00:00和22:00:00之間。MongoDB:按日期時間查詢部分日期時間
因爲我發現在超出上述範圍的時候會出現一些奇怪的行爲,所以我想要一個查詢返回每個不在10:00:00和22:00:00之間的文檔。有沒有辦法在MongoDB中做到這一點?
例如按時間部分查詢日期?
我在有日期的mongodb中有很多數據。通常這些日期在任何日期,但在10:00:00和22:00:00之間。MongoDB:按日期時間查詢部分日期時間
因爲我發現在超出上述範圍的時候會出現一些奇怪的行爲,所以我想要一個查詢返回每個不在10:00:00和22:00:00之間的文檔。有沒有辦法在MongoDB中做到這一點?
例如按時間部分查詢日期?
查詢是上午12點29分以後有時間的文檔,我的解決辦法是:
(event_start是isodatetime)
I)項目小時和分鐘
{'$project': {'_id': 1,
'hour': {'$hour': '$event_start'},
'minute': {'$minute': '$event_start'}}},
II)賽後說:`
{'$match': {'$or': [
{'hour': {'$gt': 12}},
{'$and': [{'hour': {'$eq': 12}},
{'minute': {'$gte': 30}}
]}]}}
源 - >Link
提示:'$ project'您的文檔,並使用[日期操作符](https://docs.mongodb.com/v3.2/reference/operator/aggregation-date/)返回每個文檔的時間。從那裏,你可以在'$ match'階段過濾你的文檔。 – styvane