Одним из величайших преимуществ MongoDB является то, что он не имеет схемы, то есть вы не обязаны использовать какой-то предопределенный набор столбцов.Еще одна особенность MongoDB - отсутствие соединений.
Эти два утверждения означают, что вы можете создать любую схему, какую захотите, но постарайтесь собрать всю необходимую информацию в одной коллекции.Например, я использовал такую схему в одном из своих приложений:
{
"_id": "student_001",
"password": "65c20e5a89d6b13df450b50576e2edfb",
"firstName": "A",
"lastName": "B",
"secondName": "C",
"email": "a@b.c",
"role": "STUDENT",
"active": true,
"paid": 0.6
}
Вы можете использовать _id
для любого уникального поля любого типа (не только ObjectId), я использую его для входа в систему.Вам просто нужно покрыть базовые org.springframework.security.core.userdetails.UserDetails
геттеры данными из этой схемы, но также вы можете добавить дополнительные поля в реализующий класс.