Tôi có một số tài liệu mà trông như thế này:CouchDB Bản đồ/Giảm tới một mảng
{userId: 123, msg:{ timestamp:123456, event:"actionA"} }
{userId: 123, msg:{ timestamp:123466, event:"actionB"} }
etc...
Bản đồ fn:
emit(doc.userId, [doc.msg])
Giảm fn:
return [].concat.apply([], vs)
Các chức năng này dường như làm những gì tôi mong đợi, vì vậy tôi đã nghĩ rằng tôi muốn nhìn thấy đầu ra như:
Key: 123, Value: [{timestamp:123456, event:"actionA"}, {timestamp:123466, event:"actionB"}, ...etc...]
Nhưng, tôi nhận được một giảm lỗi tràn, "Giảm đầu ra phải co lại nhanh hơn". Thật vậy, các couchdb docs nói rằng "Như một quy tắc của ngón tay cái, chức năng giảm nên giảm đến một giá trị vô hướng duy nhất." ... "CouchDB sẽ cung cấp cho bạn một cảnh báo nếu bạn cố gắng sử dụng giảm" sai cách "".
Vì vậy, tôi đoán tôi đang sử dụng Couch MR "cách sai". Điều gì sẽ là "đúng cách" để làm loại tính toán?