Tôi đang làm việc với cơ sở dữ liệu vị trí trong CouchDB. Tôi đã tạo chế độ xem trong đó khóa của tôi là một mảng có các giá trị được làm tròn theo vĩ độ và kinh độ. Bây giờ tôi đang chọn với các điều kiện sau:Làm thế nào chính xác là chìa khóa bắt đầu và chìa khóa làm việc trong CouchDB?
Startkey: [ 52.34, 4.883 ]
Endkey: [ 52.37, 4.903 ]
Ở đây tôi hy vọng rằng tôi sẽ chỉ nhận tài liệu ở vĩ độ từ 52,34 đến 52,37. Và kinh độ giữa 4.883 và 4.903.
Kết quả tôi nhận được:
[ 52.358, 4.919 ]
[ 52.358, 4.919 ]
[ 52.362, 4.861 ]
[ 52.362, 4.861 ]
[ 52.362, 4.861 ]
Như bạn có thể ghi chú khác, trong kết quả đầu tiên là kinh độ lớn hơn thì kinh độ của endkey, 4,919.
Bây giờ tôi biết/đọc ở đâu đó mà tôi sẽ nhận được một số giá trị nằm ngoài phạm vi của mục thứ hai trong mảng. Nhưng làm thế nào có thể là mặt hàng đầu tiên đã không phù hợp với tiêu chí?
Tôi đã tìm kiếm một chút và tôi không thể tìm thấy giải thích về khóa khởi động/khóa kết thúc dưới dạng mảng. Ai có thể cho tôi một lời giải thích về cách CouchDB lặp qua các tài liệu và định nghĩa khi nào 'bắt đầu' và khi nào 'kết thúc'?
Truy vấn 2 chiều không được hỗ trợ lần cuối tôi biết (vì vậy các truy vấn của bạn sẽ không hoạt động). Nhiều người sử dụng GeoCouch (https://github.com/couchbase/geocouch/). – WiredPrairie
Bạn đang nói rằng Couch sẽ bỏ qua phần tử thứ hai trong mảng? – Lumocra
Truy vấn 2 chiều không được hỗ trợ, vì vậy tôi cho rằng bạn có thể xem xét rằng "bỏ qua". – WiredPrairie