.Decode(&user)
запрос даже не происходит и мы просто строим query. Но тогда почему в options.FindOne().SetProjection(bson.M{"username": 1})
есть этот FindOne()?var user usernameOnly
users.FindOne(ctx, bson.M{"username": "kotcich"}).SetProjection(bson.M{"username": 1}).Decode(&user)
users.FindOne(ctx, (bson.M literal)).SetProjection undefined (type *mongo.SingleResult has no field or method SetProjection)
У меня например возможна личная переписка, но в то же время есть система подписки, которая и предоставляет возможность писать другому человеку.
Но в профиле может быть инфа "о себе", которую уже может прочитать кто угодно. При этом зайти и просмотреть чужой профиль можно без регистрации.