Как получить objectID объекта в базе данных - PullRequest
0 голосов
/ 03 сентября 2018

Мне нужно строковое представление идентификатора объекта, который находится в моем Mongo.

    QuestionDTO questionDTO = new QuestionDTO ();
    HashMap<String, QuestionDTO > nodes = new HashMap<>();
    nodes.put("foo", QuestionDTO );

    Rule rule = new Rule("my rule", nodes);
    ruleRepository.save(rule);

ObjectId.toString () сделает работу. Я могу открыть оболочку Mongo и найти идентификатор объекта правила, но как мне получить ObjectId в Java?

1 Ответ

0 голосов
/ 03 сентября 2018

Предположим, что ruleRepository является реализацией MongoRepository , метод save возвращает вашу сущность со сгенерированным _id. Поэтому обновите свой код, чтобы получить возвращенный объект, как указано в описании метода сохранения :

Добавить поле идентификатора в объект правила:

@Id
@JsonProperty
private String id;
@JsonProperty
private String name;
@JsonProperty
private String cat;

public String getId() {
    return id;
}

Обновите ваш код:

QuestionDTO questionDTO = new QuestionDTO ();
HashMap<String, QuestionDTO > nodes = new HashMap<>();
nodes.put("foo", QuestionDTO );
Rule rule = new Rule("my rule", nodes);
rule= ruleRepository.save(rule);  //Note the variable re-assignement
String id = rule.getId();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...