Получить двоичный атрибут из документа MongoDB в Java

Ну, я создаю дамп объектов, используя ByteArrayOutputStream. А потом запишу их в MongoDB как атрибут в своих документах. Когда я прочитал его, как я могу преобразовать его в массив байтов или двоичный файл без использования toString в середине?

Вот как я это делаю сейчас, и я не думаю, что это безопасно:

BasicBSONObject temp = (BasicBSONObject) models.get("0");
model = null;
    if (temp != null) {
        // TODO fix this serialization!
        try {
            ObjectInputStream ois = new ObjectInputStream(
                    new ByteArrayInputStream(temp.toString().getBytes()));

        } catch (IOException e) {
            L.error("unable to read model from string!");
            L.error(e.getStackTrace().toString());
        }
    }

person Hosane    schedule 19.12.2012    source источник
comment
Вы пробовали temp.get(‹key›) и приведение к целевому объекту? Если это не сработает, я думаю, у вас может не быть другого варианта, кроме toString   -  person muruga    schedule 19.12.2012
comment
Я предлагаю вам преобразовать массив байтов в строку base64, прежде чем сохранять его в mongodb. В операции чтения сначала декодируйте base64 в массив байтов.   -  person Miguel Cartagena    schedule 19.12.2012
comment
@MiguelCartagena Спасибо, но я думаю, это будет слишком много накладных расходов....   -  person Hosane    schedule 07.01.2013
comment
@HRahimi Я храню некоторые небольшие файлы в MongoDB таким образом ... без накладных расходов.   -  person Miguel Cartagena    schedule 07.01.2013