mongodb - 如何使用 golang 在查询 mongodb 中验证时间
问题描述
在这里,我正在构建一个查询以从数据库中获取预订,并且正在对其进行查询,但是根据条件我想构建一个查询并在时间字段上设置一个条件,如果时间不等于并且小于那么零,那么它将与查询条件连接,否则不会。以下是我正在使用的条件,我想验证时间:-
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
谁能告诉我我将如何执行此操作?
解决方案
你像这样使用地图: -
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}
}
并在查询中传递条件