Here is what I have done so far
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)
but it is case sensitive, is there anyway to lowercase the column title, author, content then try to search with regex.
 
    