El problema aquí es que está utilizando un "mapa" BSON como argumento con la "proyección" como parte de la "consulta". En su lugar, use el .Select()
método en encadenamiento para proyección:
collection.Find(
bson.M{ "$text": bson.M{ "$search": "mysearch" } }
).Select(
bson.M{ "score": bson.M{ "$meta": "textScore" } }
)
Al igual que en los ejemplos de API estándar, las partes de "consulta" y "proyección" están "separadas" entre sí.