Документ JSON вставлен как двоичный объект в Couchbase

Я пытаюсь вставить java POJO в магазин couchbase, а json чуть ниже cas звонок выглядит так -

{
"key": "sampleKey",
"myMap": {
    "Messages": [
        {
            "field": "f1",
            "label": "l1"
        },
        {
            "field": "f2",
            "label": "l2"
        },
        {
            "field": "f3",
            "label": "l3"
        },
        {
            "field": "f4",
            "label": "l4"
        }
    ],
    "Orders": [
        {
            "field": "f1",
            "label": "l1"
        },
        {
            "field": "f2",
            "label": "l2"
        },
        {
            "field": "f3",
            "label": "l3"
        },
        {
            "field": "f4",
            "label": "l4"
        },
        {
            "field": "f5",
            "label": "l5"
        }
        ]
    }
}

Я проверил, что это действительный JSON, и он все еще вставляется как двоичный объект, так как я пытаюсь найти этот документ через графический интерфейс couchbase, он показывает строку в кодировке base64. Пара других документов все же хорошо. Мне интересно, если это происходит только для cas метод, а не set,

Соответствующий код Java это:

String myJson = objectMapper.writeValueAsString(cacheObject);
CASResponse response = couchbaseClient.cas(cacheObject.getKey(), casValue.getCas(), myJson, PersistTo.MASTER);

// Java pojo
public class CacheObject
{
    private String key;
    private Map<String, List<FieldLabel>> myMap = new HashMap<String, List<FieldLabel>>();

    // setters and getters
}

Любые указания на то, почему это может происходить, будут оценены.

Обновление 1: я использую Java-клиент Couchbase версии 1.4.4, сервер 2.5

Обновление 2: я не думаю, что это связано с моим кодом или json, я попытался заменить свой json большим документом json (действительным), и я увидел тот же результат в GUI couchbase. Я думаю, что это происходит потому, что размер документа может превышать 2,5 КБ. В json, который я вставил выше, поле и метки удалены, они немного более длинные строки. Как ни странно, когда я изменяю свой документ, документы длиной менее 960 символов, как правило, отображаются как Json, однако чуть выше хранятся как двоичные.

1 ответ

Если размер документа превышает 2,5 КБ, документ не будет редактироваться в консоли, и это значение можно изменить в файле с именем documents.js.

Другие вопросы по тегам