如何根据更新时间排列日期数组中的数据

时间:2018-06-13 12:24:16

标签: mongodb go

假设mongodb集合中有一个数据,如下所示:

{
 "_id" : 1,
 "day" : "Sunday",
 "start_date" : NumberLong(1530403200),
 "end_date" : NumberLong(1532995200),
 "start_time" : NumberLong(9000),
 "end_time" : NumberLong(19800),
 "added_on" : NumberLong(1528890781),
 "occurence" : "repeat",
 "updated_on" : NumberLong(1528890782)
}

在上述数据中,start_date格式为07-01-2018end_date07-30-2018表示july的整月,我添加了start_time 8:00AM }}格式为假设end_time10:00AM格式为added_ontime.Unix(updatedon,0).Format("3:04PM")也是一个时间戳,使用updated_on为我提供人类可读时间,{ "_id" : 2, "day" : "Sunday", "start_date" : NumberLong(1530403200), "end_date" : NumberLong(1530403200), "start_time" : NumberLong(9000), "end_time" : NumberLong(23400), "occurence" : "repeat", "updated_on" : NumberLong(1528891672) } 也是如此,但现在如果有其他数据添加如下:

start_date

在上述数据中还有更新时间。我正在使用golang代码进行数据检索,然后在end_datestart_date之间进行检索所有日期都使用 * mongodb的第一条记录打印(具有“_id”:1)* 但是在第二条记录(具有“_id:2”)end_dateupdated_on相同,然后检索我在数组中保存的所有数据。

问题

我是否只想更改上次更新的日期,这意味着如果有任何日期具有func GetSchedule(c *gin.Context) { var array []string value := c.Query("day") response := ResponseControllerList{} selected_day:= value conditions := bson.M{"day":selected_day} data, err := models.GetSchedulingListing(conditions) // geting data from the database for i := range data { fmt.Println(data[i]) update_on := time.Unix(data[i].UpdatedOn,0).Format("3:04PM") fmt.Println(update_on) start_date := data[i].StartDate end_date := data[i].EndDate start_time := data[i].StartTime end_time := data[i].EndTime start_working_hours := time.Unix(start_time,0).Format("3:04PM") end_working_hours := time.Unix(end_time,0).Format("3:04PM") days:= time.Unix(end_date,0).Sub(time.Unix(start_date,0)).Hours() / 24 for i := 1; i <= int(days+1); i++ { if selected_day == time.Unix(start_date,0).Weekday().String() { array = append(array,time.Unix(start_date,0).Format("Monday 01-02-2006")+" "+ start_working_hours+" "+ end_working_hours) } start_date = start_date + 86400 } } fmt.Println(array)//????? } 值,那么它将覆盖其匹配的日期。我该怎么办?我正在使用的代码如下:

Terminal

import { createNamespacedHelpers } from 'vuex'; const { mapGetters, mapActions } = createNamespacedHelpers('displayfood'); export default { computed:{ ...mapGetters([ 'food', ( ... ) ]), }, methods:{ ...mapActions([ 'fetchFood', ( ... ) ]), } } 中输出条件(来自数据库的数据):

  

{1 Sunday 1530403200 1532995200 9000 19800 1528890781 1528890782}

     

下午5时23分

     

{2 Sunday 1530403200 1530403200 9000 23400 0 1528891672}

     

下午5点37分

0 个答案:

没有答案