簡體   English   中英

日期范圍存儲在數據庫中

[英]Date range storing in database

我試圖使用mongodb將daterange值存儲在數據庫中,所以我使用了String返回類型,但是我無法保存daterange。 將日期范圍直接保存在數據庫中是否可行,或者我必須將日期范圍拆分為開始日期和結束日期並存儲在數據庫中? 前端是AngularJS,后端是mongoDB ...

MongoDB不提供任何類型的DateRange數據類型。

Java8提供了PeriodDuration類型。 在Java8之前,有一個很棒的Joda Time庫,它還提供了Period和Duration數據類型。

Java的MongoDB庫沒有針對這些類型的任何轉換器。 它只知道java.util.Data

但是,如果要存儲Java8或Joda PeriodDuration ,則需要為Java MongoDB Driver編寫客戶數據類型轉換器,或者直接在應用程序代碼中進行轉換。 (兩者幾乎相同)。

這樣,您可以將日期范圍另存為{ range: {from: ISODate("2015-01-01T00:00:00.000Z"), to: ISODate("2015-01-02T00:00:00.000Z") } }在MongoDB中。

然后,您當然必須對range.fromrange.to字段進行查詢。


當然,第二部分是將HTML日期范圍選擇器中的值正確序列化為String,並且可以由Java后端讀取。

雖然要確保(例如,僅通過使用System.out.println(...) ),但Java正確反序列化了數據。

如果一切正常,則可以使用MongoDB,即將DateRange對象轉換為兩個java.util.Date對象,等等。pp。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM