Почему атрибут роли пользователя в загрузочном приложении Spring должен быть проиндексирован? - PullRequest
0 голосов
/ 23 февраля 2019

Я пытаюсь сохранить Employee Pojo в Mongo db, используя Spring boot, и обнаружил, что он проиндексирован на одном из сайтов в Интернете.зачем и как индексировать его?

import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.index.IndexDirection;
import org.springframework.data.mongodb.core.index.Indexed;

@Document(collection = "role")
public class Role {

    @Id
    private String id;
    @Indexed(unique = true, direction = IndexDirection.DESCENDING, dropDups = true)

    private String role;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }

}

1 Ответ

0 голосов
/ 23 февраля 2019

Из документации на монго: https://docs.mongodb.com/manual/indexes/

Indexes support the efficient execution of queries in MongoDB. Without indexes,
MongoDB must perform a collection scan, i.e. scan every document in a collection,
to select those documents that match the query statement. If an appropriate index
exists for a query, MongoDB can use the index to limit the number of documents it
must inspect.

Нет необходимости индексировать на role.Однако - если вы запрашиваете коллекцию сотрудников, используя role в качестве критерия, это ускорит выполнение запроса.

Какие поля для индексации зависят от вашего варианта использования / того, как вы обращаетесь к своим данным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...