записи, сохраненные в mongodb, исчезли через несколько минут

#java #mongodb #mongodb-query #aggregation-framework

#java #mongodb #mongodb-запрос #агрегация-фреймворк

Вопрос:

Обновленные записи пропали через некоторое время в mongodb

Я попытался обновить документ в mongodb с помощью драйвера Java 3.6, сначала записи были успешно обновлены. но через 1 минуту значение этих записей превратилось в пустую строку

 A = new A();
            BasicDBObject searchQuery = new BasicDBObject("username", username);
            BasicDBObject updateFields = new BasicDBObject();
            updateFields.append("fullnames", agent.getFullnames());
 BasicDBObject setQuery = new BasicDBObject();
            setQuery.append("$set", updateFields);
            getLiveagentCollection().update(searchQuery, setQuery);
  

Обновленные записи должны сохраняться в базе данных

Комментарии:

1. Если у вас есть индекс в вашей БД, вы должны проверить, настроен ли у вас TTL в некоторых из них.

2. Да, у меня есть индекс в моей БД, так как мне проверить конфигурацию TTL

3. Используете ли вы MongoDB Compass? Если да, откройте коллекцию, перейдите на вкладку «Индексы» и в свойствах столбца вы увидите, настроен ли у одного из них TTL.

4. Спасибо, Надал, столбец свойств пуст

Ответ №1:

Я смог решить эту проблему, добавив writeconcern в mongodb.

 MongoClient client = new MongoClient("localhost", 27112);
client.setWriteConcern(WriteConcern.MAJORITY);