Как обновить облегченный вид кушетки с помощью Rest API?

Как обновить облегченный вид кушетки с помощью Rest API?

Из Rest API, как сообщить индексатору, что представление обновлено. Я пробовал приведенный ниже код, но он не сработал. Он по-прежнему возвращает старый индекс.

Как правильно сообщить индексатору, что представление обновлено, чтобы он мог воссоздать индекс.

    'PUT'
    {db}/_design/todo
            {
"_rev":"hf675757577hhfh",
        "views":{
    "list":{
    "map":function(doc){
    if(doc.type=='list')
    {
    emit(doc._id,{"name":doc.name});
    }
    },
    //"version":"1.0" (I have tryied this but not work)
    }

    }

            }

//My view create request was like below:


  {db}/_design/todo
            {

        "views":{
    "list":{
    "map":function(doc){
    if(doc.type=='list')
    {
    emit(doc._id,{"name":doc.name});
    }
    },
    //"version":"1.0" (I have tryied this but not work)
    }

    }

            }

person Samadhan Kate    schedule 15.01.2017    source источник
comment
Это представление, которое вы создали с помощью REST API? Если нет, вы не можете обновить его через остальные API.   -  person borrrden    schedule 16.01.2017
comment
даа я создал список просмотра раньше   -  person Samadhan Kate    schedule 16.01.2017
comment
Как вы его создали? Через первоначальный запрос PUT? Если там есть нативно зарегистрированный вид, то это его не изменит. В противном случае, если собственного представления вообще нет, каждый PUT должен вызывать переиндексацию представления, поскольку версия основана на хэше источника. На какой платформе это работает?   -  person borrrden    schedule 16.01.2017


Ответы (1)


Похоже, у вас могут быть проблемы с форматированием. Это показывает, как сделать то, что вы пытаетесь сделать из командной строки:

curl -X PUT 'http://localhost:4985/db/_design/todo' --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ "_rev": "hf675757577hhfh", "views": { "list": { "map": "function(doc) { if (doc.type == \"list\") { emit(doc._id, { \"name\": doc.name }); }}"}}}'

Вы можете проверить свои результаты с помощью этой команды:

curl -X GET 'http://localhost:4985/db/_design/todo/_view/list'

Вы можете обратиться к документации с дополнительными примерами по адресу https://developer.couchbase.com/documentation/mobile/current/guides/sync-gateway/views/index.html

person Hod    schedule 17.01.2017