Теперь у меня есть несколько документов, каждый из которых имеет ключ path
и значение типа \A\
, \B\
, \A\C\
, \A\C\D\
, \A\E\
, \A\E\F\
.
Я хочу найти те, которые имеют только 1 сегмент. Это означает, что результат должен быть \A\
и \B\
. Я использую регулярное выражение /^\\[^\\]*\\$/
, которое отлично работает в терминале MongoDB. Но когда я попытался применить это к программам Go, это не сработало.
Перейти коды:
var nodeList []NodeEntry // NodeEntry would match every field of one document
err = c.Find(bson.M{"path": bson.M{"$regex": bson.RegEx{"^\\[^\\]*\\$", ""}}}).All(&nodeList)
fmt.Println(nodeList)
Выход:
[]
Это так странно, а потом я узнал, что любое регулярное выражение с \\
даст пустой результат.
Так это баг мго?
(Не знаю, уместно ли это, но я также разместил этот вопрос на странице список рассылки mgo.users.)
\\` or
\\\`, так как некоторые другие языки поддерживают этот способ, когда они помещаются внутри строки""
- person Sabuj Hassan   schedule 10.04.2014