2015-08-14 4 views
1

Ceci est le document my que je stocke dans le bucket.Also l'attribut Id (key) est screenName.erreur "char invalide dans le texte json" dans les résultats de la vue Couchbase

{ 
     "created": null, 
     "createdBy": null, 
     "updated": null, 
     "updatedBy": null, 
     "screenName": "steelers", 
     "appId": "100", 
     "domain": "100$APPINFOTEAM", 
     "alias": "steelers", 
     "devision": "1" 
    } 

J'ai plusieurs documents dans Couchbase dans ce format. J'ai donc besoin d'aller chercher ces documents dans l'ordre décroissant. Donc, ceci est l'implémentation pour laquelle je l'ai utilisé,

 Query query = new Query(); 
     // Filter on the domain key 
     query.setIncludeDocs(true); 
     query.setDescending(true); 
     query.setInclusiveEnd(true); 
     query.setKey(domain); 
     List<AppInfoTeam> appInfoTeam = appinfoTeamService.getAppInfoTeamForApp(query); 

Cela me donnera les documents exacts sans tri. Ceci est mon avis

function (doc, meta) { 
if (doc._class == "com.link.twitter.pojo.AppInfoTeam") { 
    emit(doc.domain, null); 
    } 
} 

J'ai aussi essayé de Filtrer les résultats en utilisant l'interface serveur Couchbase. Je coche les valeurs décroissantes et inclusive_end. Mettez également le domaine en clé. Ensuite, lorsque je clique sur le bouton Afficher les résultats, cela me donnera cette erreur.

url: ?stale=false&descending=true&inclusive_end=true&key=domain&connection_timeout=60000&limit=10&skip=0 

Erreur:

{"error":"bad_request","reason":"invalid UTF-8 JSON: {{error,{1,\"lexical error: invalid char in json text.\\n\"}},\n      \"domain\"}"} 

Comment puis-je résoudre ce problème?

Répondre

4

Vous devez envelopper la clé avec des guillemets doubles:

<url>?stale=false&descending=true&inclusive_end=true&key="domain"&connection_timeout=60000&limit=10&skip=0 
+0

vous pourriez avoir à échapper aux citations - essayez donc cela aussi: \ « domain \ » – FuzzyAmi

+0

Merci pour la suggestions.I a essayé les deux sens, mais son ne fonctionne pas. Aussi je veux implémenter cela dans mon code pas dans l'interface du serveur Couchbase. – Neero

+0

Je ne peux pas vous aider avec la partie java, mais en général, obtenir votre requête directement sur l'interface utilisateur est un bon moyen (et généralement plus rapide) que de le faire en code. Je suis retourné à ma configuration et cette requête fonctionne - notez comment je me suis évadé la clé http: // : 8092/groupes/_design/dev_groups/_view/groupid_by_fbuserid rassis = false & inclusive_end = true & connection_timeout = 60000 & limit = 10 & skip = 0 & key =% 22123% 22 avez-vous toujours la même erreur? que se passe-t-il lorsque vous cliquez sur l'url thats show dans l'interface utilisateur de la page d'affichage (à côté du texte "Résultats du filtre")? – FuzzyAmi