Couchbase часто рассматривается как база данных документов из-за того, как он может обрабатывать JSON, но также может использоваться как обычное хранилище ключей / значений (т. Е. Это «мультимодальная» база данных ). В качестве значения вы можете сохранить что угодно, включая байты, utf-8 и т. Д. c.
. Существует пример того, как хранить не-1024 * данные в Couchbase в Документы Couchbase.
Я не Python dev, но вот пример из документов, использующих формат "raw":
>>> from couchbase import FMT_BYTES
>>> cb.upsert('utf16_doc',
'Hello, UTF-16 World!'.encode('utf16'),
format=FMT_BYTES)
В приведенном выше примере вы бы заменили 'Hello, UTF-16 World!'.encode('utf16')
с байтовым массивом вашего PDF-файла, а в Python FMT_BYTES
указывается «raw».
Кроме того, вы можете кодировать вложение PDF в base64 и сохранять его в JSON. Например:
{
"filename": "Anupam.pdf",
"format": "application/pdf",
"blobBase64": "JVBERi0xLjMKJf////8KMSAwIG9iago8PCAvQ3JlYXRvciAoUHJhd24pCi9Qcm9kd..."
}
Вообще говоря, я буду осторожен с хранением двоичных данных в Couchbase. Значения Couchbase имеют ограничение размера в 20 МБ .