为了账号安全,请及时绑定邮箱和手机立即绑定

Mongodb 如何通过正则表达式或在许多字段上进行搜索?

Mongodb 如何通过正则表达式或在许多字段上进行搜索?

Go
胡子哥哥 2022-12-26 16:44:23
我想在 mongodb 的许多领域进行搜索。这是我到目前为止所做的var filter bson.Dfilter = append(filter, bson.E{"title", primitive.Regex{Pattern: "input", Options: "i"}})filter = append(filter, bson.E{"author", primitive.Regex{Pattern: "input", Options: "i"}})filter = append(filter, bson.E{"content", primitive.Regex{Pattern: "input", Options: "i"}})cur, err := p.postProposalCollection.Find(ctx, filter)但是它是AND这样工作的WHERE title ~ 'input' AND author ~ 'input' AND content ~ 'input'我希望它像这样工作WHERE title ~ 'input' OR author ~ 'input' OR content ~ 'input'
查看完整描述

1 回答

?
UYOU

TA贡献1878条经验 获得超4个赞

也许你可以直接使用$orand$regex


filter := bson.M{

    "$or": bson.A{

        bson.M{"title": bson.M{"$regex": "input"}},

        bson.M{"author": bson.M{"$regex": "input"}},

        bson.M{"content": bson.M{"$regex": "input"}},

    },

}


p.postProposalCollection.Find(ctx, filter)


查看完整回答
反对 回复 2022-12-26
  • 1 回答
  • 0 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信