bất cứ ai có thể giải thích cho tôi lý do tại sao sau không làm việc:CouchDB Nhóm Level và chính Phạm vi
Giả sử cấu trúc sau đây tài liệu:
{
"_id": "520fb089a6cb538b1843cdf3cca39a15",
"_rev": "2-f96c27d19bf6cb10268d6d1c34799931",
"type": "nosql",
"location": "AZ",
"date": "2012/03/01 00:00:00",
"amount": 1500
}
Và một chức năng Bản đồ được xác định như sau:
function(doc) {
var saleDate = new Date(doc.date);
emit([doc.location,saleDate.getFullYear(),saleDate.getMonth()+1],doc.amount);
}
Và sử dụng chức năng được xây dựng trong _sum
cho bộ giảm tốc.
Khi bạn thực hiện điều này (với nhóm = true) bạn sẽ có được kết quả như thế này:
{"rows":[
{"key":["AZ",2012,2],"value":224},
{"key":["AZ",2012,3],"value":1500},
{"key":["WA",2011,12],"value":1965},
{"key":["WA",2012,1],"value":358}
]}
Bây giờ nếu bạn thay đổi các truy vấn đến một cái gì đó như thế này:
http://127.0.0.1:5984/default/_design/nosql/_view/nosql_test?group_level=2
Bạn nhận được kết quả như thế này :
{"rows":[
{"key":["AZ",2012],"value":1724},
{"key":["WA",2011],"value":1965},
{"key":["WA",2012],"value":358}
]}
vì vậy, với ý nghĩ nếu tôi muốn tìm hiểu tất cả doanh thu trong năm 2011 cho "WA" tôi không thể exe dễ thương như thế này:
http://127.0.0.1:5984/default/_design/nosql/_view/nosql_test?group_level=2&key=["WA",2011]
Ví dụ này được lấy từ video hữu ích trên băng NoSQL.
http://nosqltapes.com/video/understanding-mapreduce-with-mike-miller
Yep đã hoạt động và có ý nghĩa hơn bây giờ. Cảm ơn bạn đã liên kết đến hướng dẫn ViewCollation. – eggsy84
Tôi giả định rằng nó đã được thực hiện từ kết quả của giai đoạn Giảm nhưng bây giờ hiểu rằng nó được thực hiện từ các kết quả từ hàm Bản đồ. Cảm ơn đã giúp đỡ :) – eggsy84