Đối với sự đầy đủ, đây là một ví dụ đầy đủ về câu hỏi cuối cùng của tôi trong các nhận xét ở trên. Mục tiêu lớn hơn là đang xây dựng động một truy vấn bson. Rất cảm ơn ANisus:
query := bson.M{}
query["origin"] = "test"
query["$or"] = []bson.M{}
query["$or"] = append(query["$or"].([]bson.M), bson.M{"abc": "1"})
query["$or"] = append(query["$or"].([]bson.M), bson.M{"def": "2"})