如何使用golang在查询mongodb中验证时间

时间:2018-10-13 05:35:55

标签: mongodb go

在这里,我正在构建一个查询,用于从数据库中获取预订,并且正在对此进行查询,但是根据条件,我想构建一个查询,并在时间字段上建立一个条件,如果时间不等于小于零,则它将与查询条件联接,否则不联接。以下是我正在使用的条件,我想验证时间:-

mongoSession := ConnectDb()
defer mongoSession.Close()
sessionCopy := mongoSession.Copy()
defer sessionCopy.Close()
getCollection := sessionCopy.DB(Database).C(Collection) 
condition := bson.M{
    "status":           1,
    "category": bson.M{"$in": services},
    "method":   bson.M{"$in": value},
    "date":     date,
    "location": loc,
    "end_time":         bson.M{"$lte": currTime},
} 

我想通过以下方式验证end_time:-

if currTime > 0{
   "end_time":bson.M{"$lte": currTime},
}
// Something like that

谁能告诉我我将如何执行此操作?

1 个答案:

答案 0 :(得分:0)

您可以像这样使用地图:-

condition := make(map[string]interface{})
condition["status"] = 1
condition["category"] = bson.M{"$in": services}
condition["method"] = bson.M{"$in": value}
condition["date"] = date
condition["location"] = loc
if currTime > 0 {
    condition["end_time"] = bson.M{"$lte": currTime}
}

并在查询中传递条件