MGo Regex查询返回空结果

时间:2016-11-16 23:29:23

标签: mongodb go mgo

我一直在使用以下代码列出以搜索关键字开头的用户,该关键字作为name传递给该函数。

func (this *user) GetUsersByEmailOrName(name *string) ([]types.User, error) {
formattedName := "/^" + *name + "/"

var ors []bson.M
userNameOr := bson.M{
    "user_name": bson.M{
        "$regex": bson.RegEx{formattedName, "i"},
    },
}
ors = append(ors, userNameOr)

nameOr := bson.M{
    "name": bson.M{
        "$regex": bson.RegEx{formattedName, "i"},
    },
}
ors = append(ors, nameOr)

query := bson.M{
    "$or": ors,
}

fmt.Println(query)
s := this.Database.Session.Copy()
defer s.Close()

var users []types.User
err := s.DB("").C(this.Collection).Find(query).Sort("name").All(&users)
if err != nil {
    return nil, err
}
fmt.Println(users)
return users, nil
}

我是GoLang和MGo的新手。我不确定出了什么问题。请指出正确的方向。

0 个答案:

没有答案