现在我有一些文档,每个文档都有一个键path
和值,例如\A\
, \B\
, \A\C\
, \A\C\D\
, \A\E\
, \A\E\F\
。
我想找到只有 1 段的那些。这意味着结果应该是\A\
and \B\
。我使用 Regular Expression /^\\[^\\]*\\$/
,它在 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)
输出:
[]
太奇怪了,然后我发现任何 Regex\\
都会产生一个空的结果。
那么它是mgo的一个错误吗?
(我不知道这是否不合适,但我也在mgo.users 邮件列表上发布了这个问题。)