Как найти один документ по несуществующему свойству с помощью MongoRepository?

avatar
lucas
9 августа 2021 в 07:15
105
1
0

У меня есть куча документов в коллекции MongoDB. У многих из них нет свойства временной метки, и я хотел бы добавить его один за другим.

 private final MongoRepository mongoRepository;

Я уже пытался использовать Ouery для фильтрации этих документов, но не получил положительного ответа.

@Query("{'timestamp' : null}")
Document findOneIssueByMissingArchivedTimestamp();

Теперь я хочу использовать функцию findOne MongoRepository. Я хочу найти только документы, у которых нет метки времени, и вернуть один из них. Кто-нибудь знает, как это сделать?

Источник
chrylis -cautiouslyoptimistic-
9 августа 2021 в 07:19
1

Вы пробовали findOneByTimestampNull? (Если вы специально пытаетесь найти только один документ по какой-то недетерминированной причине, вы можете попробовать findByTimestampNullLimit1.)

lucas
9 августа 2021 в 07:21
0

Нет, я должен создать для этого функцию в MongoRepo с таким именем?

Ответы (1)

avatar
lucas
9 августа 2021 в 09:35
0

В конце концов я использовал Spring Magic и добавил эту функцию в MongoRepository, которая выполнила свою работу. Спасибо за помощь :)

Optional<Document> findFirstByTimestampIsNull();