现在我有一些文档,每个文档都有一个键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 邮件列表上发布了这个问题。)