2017-04-23 4 views
0

J'essaie d'interroger une vue à partir de python sdk mais je n'ai aucune ligne retournée.Aucune ligne retournée lors de l'interrogation d'une vue couchbase avec python

fonction Ma carte est:

function (doc, meta) { 
    if (doc.EXENUM_A !== null) 
    { 
    if (doc.PRS != null) { 
     emit(doc.EXENUM_A, doc.PRS); 
    } 
    } 
} 

La réduction est l'un:

function (keys, values) { 
    for (k in keys) { 
    result = {}; 
    for (v in values) { 
     if (!(values[v] in result)) { 
       result[values[v]] = 0; 
     } 
     result[values[v]] += 1; 
    } 
     return [keys[k], result]; 
    } 
} 

Lorsque j'exécute cette requête dans l'interface utilisateur Web de Couchbase, je le résultat escompté.

Mais lorsque je tente de l'interroger à partir de Python, j'ai un vide ResultSet:

from couchbase.bucket import Bucket 
from couchbase.views.iterator import View 
import os 
import fnmatch 

cb=Bucket('couchbase://172.17.0.2:8091/my_db', password="my_password") 

view = View(cb, "dev_testview", "by_num", limit=10,reduce=True) 

for row in view: 
    print(row.key) 

Ai-je manqué quelque chose?

Cette vue est encore un dev_view. Dois-je le publier en production avant de pouvoir l'interroger depuis python?

Répondre

0

J'ai trouvé la réponse. Il vient des paramètres que je devais ajouter

view = View(cb, "dev_testview", "by_num", limit=10, reduce=True, group=True, inclusive_end=False)