je votre vue sur un seau vide et utilisé la requête par exemple sur la Voir la page de l'interface utilisateur pour le tester:
_design/dev_test/_spatial/test?stale=false&connection_timeout=60000&limit=10&skip=0
Sur un seau vide, je suis un bon résultat, mais vide, ce qui était attendu. Dès que j'ai ajouté le document exemple ci-dessus, je reçois votre même erreur:
{error: "error", reason: "badarg"}
Après une réduction de la vue et du document que je trouve que ce document particulier, il échoue parce qu'il ya des guillemets doubles autour de la coordonnées de latitude et de longitude dans votre champ de localisation (doc.location.coordinates). Ils doivent être des nombres sans guillemets si vous voulez passer votre champ de localisation en tant que géométrie pour la clé. Plus sur les vues spatiales peut être trouvé ici: http://docs.couchbase.com/admin/admin/Views/views-geospatial.html
Idéalement, vous résoudre votre problème en fixant les documents dans votre seau. Tout ce qui crée votre champ de localisation consiste à mettre les coordonnées sous forme de chaînes quand elles doivent être flottantes. Si cela est impossible, alors vous pouvez essayer quelque chose de semblable à ce qui suit pour faire la conversion dans votre vue, à tout le moins cela devrait prouver que les coordonnées de chaîne sont la cause racine de votre problème:
function (doc, meta) {
if (doc.type == "report" && doc.location && doc.location.type && doc.location.coordinates) {
if(doc.location.type=='Point'){
for(var i=0; i<doc.location.coordinates.length; i++){
doc.location.coordinates[i] = parseFloat(doc.location.coordinates[i]);
}
emit(doc.location, {summary:doc.summary});
}
}
}
réalise un travail quand vous l'exécutez dans l'interface utilisateur? – FuzzyAmi
non, cela n'a pas fonctionné dans l'interface utilisateur – rash111
Quelle erreur obtenez-vous via l'interface utilisateur? – FuzzyAmi