У меня есть коллекция Mongo, где каждый документ в коллекции имеет свойство массива sources.Поиск по этому свойству может быть комбинацией точных совпадений и регулярных выражений.Например, при использовании оболочки Mongo приведенный ниже запрос выполняет поиск документов с источником = «газовые клапаны» ИЛИ «шланг» содержится в элементе источника.Это работает так же, как я ожидаю
db.notice.find({sources:{$in:[/\bhose/i,'gas valves']}})
Все становится немного сложнее в MGO.Поскольку некоторые элементы в массиве $ in могут быть регулярными выражениями, а другие строки - единственный способ, которым я решил сделать запрос, это использовать $ or:
var regEx []bson.RegEx
var matches []string
// do stuff to populate regEx and matches
filter["$or"] = []bson.M{
{"sources":bson.M{"$in":regEx}},
{"sources":bson.M{"$in":matches}},
}
Есть ли способ, которым я мог бы создать одинфрагмент с регулярным выражением и строкой для использования с $ in - устраняя необходимость в $ или