Skip to content

查询条件 - $regex

函数构建

query 包提供 RegexRegexOptions 两个函数。

使用 Regex 构建只有 $regex 的查询条件:

go
// bson.D{bson.E{Key:"name", Value:bson.D{bson.E{Key:"$regex", Value:"^ming"}}}}
regex := query.Regex("name", "^ming")

使用 RegexOptions 同时构建 $regex$options

go
// bson.D{bson.E{Key:"name", Value:bson.D{bson.E{Key:"$regex", Value:"^ming"}, bson.E{Key:"$options", Value:"i"}}}}
regex := query.RegexOptions("name", "^ming", "i")

方法构建(构建器)

构建器提供同名方法,适用于和其他查询条件组合。

使用 Regex

go
// bson.D{bson.E{Key:"name", Value:bson.D{bson.E{Key:"$regex", Value:"^ming"}}}}
regex := query.NewBuilder().
    Regex("name", "^ming").
    Build()

使用 RegexOptions

go
// bson.D{bson.E{Key:"enabled", Value:bson.D{bson.E{Key:"$eq", Value:true}}}, bson.E{Key:"name", Value:bson.D{bson.E{Key:"$regex", Value:"^ming"}, bson.E{Key:"$options", Value:"i"}}}}}
regex := query.NewBuilder().
    Eq("enabled", true).
    RegexOptions("name", "^ming", "i").
    Build()