2017-01-15 1 views
0

Comment mettre à jour la vue couchbase lite avec Rest API? A partir de Rest API, comment indiquer à l'indexeur que la vue est mise à jour. J'ai essayé le code ci-dessous mais cela n'a pas fonctionné. Il renvoie toujours l'ancien index.Comment mettre à jour la vue couchbase lite avec Rest API?

Quelle est la manière correcte de dire à l'indexeur que la vue est mise à jour pour pouvoir recréer l'index.

'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) 
    } 

    } 

      } 
+0

Est-ce une vue que vous avez créée via l'API REST? Sinon, vous ne pouvez pas le mettre à jour via l'API restante. – borrrden

+0

yaa J'ai créé la liste avant de –

+0

Comment avez-vous créé le site? Via une demande PUT initiale? S'il y a une vue enregistrée en natif, alors cela ne la changera pas. Sinon, s'il n'y a pas de vue native, chaque PUT doit provoquer la réindexation de la vue puisque la version est basée sur un hachage de la source. Quelle plate-forme est-ce en cours d'exécution? – borrrden

Répondre

0

Il semble que vous ayez quelques problèmes de formatage. Cela montre comment faire ce que vous essayez de la ligne de commande:

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 }); }}"}}}' 

Vous pouvez tester vos résultats avec cette commande:

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

Vous pouvez vous référer à la documentation, qui a plus exemples, à https://developer.couchbase.com/documentation/mobile/current/guides/sync-gateway/views/index.html