#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);