基于Go的Mongo聚合查询问题

huangapple go评论106阅读模式
英文:

GO based Mongo Aggregate Query issue

问题

$in中的正则表达式查询不起作用。在mongo shell中可以正常工作。

不起作用的代码:

OpMatch := bson.M{"$match": bson.M{"wordname": bson.M{"$in": [...]string{"/^how$/"}}}}

可以正常工作的代码:

OpMatch := bson.M{"$match": bson.M{"wordname": bson.M{"$in": [...]string{"how"}}}}
英文:

The regular expression query in $in is not working. It works fine in the mongo shell.

Does not work:

OpMatch := bson.M{"$match": bson.M{"wordname": bson.M{"$in": [...]string{"/^how$/"}}}}

Works:

OpMatch := bson.M{"$match": bson.M{"wordname": bson.M{"$in": [...]string{"how"}}}}

答案1

得分: 1

这不是使用mgo进行正则表达式的正确方式。你必须使用bson.RegEx。尝试使用以下代码:

bson.M{"$match": bson.M{"wordname": bson.M{"$in": []bson.RegEx{{"^how$", "i"}}}}}

英文:

That's not how you do regex with mgo. You must use bson.RegEx. Try this:

bson.M{"$match": bson.M{"wordname": bson.M{"$in": []bson.RegEx{{"^how$", "i"}}}}}

huangapple
  • 本文由 发表于 2016年9月6日 20:58:01
  • 转载请务必保留本文链接:https://go.coder-hub.com/39349612.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定