У меня есть документ с полем, содержащим очень длинную строку. Мне нужно объединить другую строку до конца строки, уже содержащейся в поле.
Теперь я делаю это так, что из Java я извлекаю документ, извлекаю строку в поле, добавляю строку в конец и, наконец, обновляю документ новой строкой.
Проблема: строка, содержащаяся в поле, очень длинная, что означает, что для извлечения и работы с этой строкой в Java требуются время и ресурсы. Кроме того, эта операция выполняется несколько раз в секунду.
Мой вопрос: есть ли способ объединить строку с существующим полем, без необходимости db.<doc>.find()
извлекать (db.<doc>.find()
) содержимое поля? На самом деле все, что я хочу, это (field.contents += new_string
).
Я уже сделал эту работу, используя Javascript и eval
, но, как я выяснил, MongoDB блокирует базу данных при выполнении javascript, что делает приложение в целом еще медленнее.