#java #database #mongodb #dictionary
#java #База данных #mongodb #словарь
Вопрос:
У меня есть карта, хранящаяся в MongoDB. У меня также есть эта карта в моей Java-программе в качестве локальной хэш-карты кэша. В настоящее время я обновляю локальный кеш по мере необходимости, а затем переопределяю карту своими изменениями:
HashMap<String, String> myHashMap; // For Reference
myHashMap.put("example", "value");
Bson update = Updates.set("my_map", myHashMap);
myCollection.updateOne(Filters.eq("id", id), update, DataManager.UPSERT);
Это работает нормально, но я беспокоюсь, что это будет плохой идеей, когда эта хэш-карта в конечном итоге достигнет тысяч или, может быть, даже миллионов записей. Этот код выполняется каждые несколько минут во многих разных учетных записях, подключенных к одному и тому же серверу MongoDB, и я беспокоюсь, что установка всей хэш-карты каждый раз будет вызывать проблемы с производительностью, поскольку она пытается переписать тысячи записей, которые уже есть.
Есть ли способ просто добавить одну запись на карту в моем документе MongoDB? Или, может быть, я неправильно понимаю, как происходит обновление.Набор работает, и это не должно быть проблемой с массивной картой? Спасибо!