У меня есть Pojo с атрибутом
Class A{
@Id
@Field("item_id")
private String itemId;
}
Когда я пытаюсь обновить документ в коллекции MongoDB на основе itemId, как показано ниже, он работает хорошо и из журналов mongo ops видит, что запрос был преобразован как _id in itemIds
Query query = new Query(Criteria.where("itemId").in(itemIds));
Update update = new Update();
update.set("field2", "abd");
mongoTemplate.updateMulti(query, update, A.class)
Когда я обновился до spring-data-mongodb-2.1.5.RELEASE, запрос, который я видел в журналах mongo, был "item_id in itemIds". Поскольку item_id не является полем и не имеет индекса для этого поля в коллекции, выполнение запроса заняло целую вечность.
Любая помощь, чтобы понять, почему библиотека данных Spring создает запрос как _id в более старой версии и использует это поле в более новой версии?