Tôi đang bắt đầu một dự án bằng Cloudant. Đó là một hệ thống đăng nhập đơn giản, vì vậy tôi có thể theo dõi việc sử dụng các ứng dụng của mình.Chọn số lượng mây khác nhau/couchdb
tài liệu của tôi trông như thế này:
{
ứng dụng: 'tên của ứng dụng',
loại: 'xem trang | đăng nhập | v.v. ',
chủ sở hữu:' email_of_the_user ',
thiết bị:' iphone | android | vv .. ',
date: 'yyyy-mm-dd'
}
Tôi đã cố gắng để làm một số bản đồ và tìm kiếm giảm sắc cạnh, nhưng không thể tìm thấy cho đến nay kết quả cho những gì tôi muốn.
Tôi muốn đếm số tài liệu riêng biệt được nhóm theo cùng một chủ sở hữu, ngày (yyyy-mm-dd) và ứng dụng.
[Ví dụ: nếu một người cùng đăng nhập vào ứng dụng hai lần hoặc 20 lần trong cùng một ngày, nó sẽ chỉ được tính một lần. Tôi muốn đếm số lượng người dùng đã sử dụng ứng dụng mỗi ngày, bất kể loại nhật ký là gì hoặc thiết bị mà anh ấy đã sử dụng.]
Nếu đó là SQL, giả sử mỗi khóa của tài liệu là một cột , tôi sẽ truy vấn một cái gì đó như thế này:
CHỌN ứng dụng, cập nhật, count (*) TỪ nhóm bản ghi theo ngày, chủ sở hữu, ứng dụng
kiến kết quả sẽ là một cái gì đó như:
'App1', '2015-06-01', 200
'App1', '2015-06-02', 232
'App2', '2015/06/01', 142
'App2', '2015/06/02', 120
Làm thế nào tôi có thể nhận được kết quả tương tự sử dụng Cloudant/CouchDB?
Tôi đã thử điều này. Vấn đề là các bản sao đang được tính. snapit [email protected] login iphone 2015-06-29 snapit [email protected] ảnh iphone 2015-06-29 snapit [email protected] login iphone 2015-06-29 snapit [email protected] login iphone 2015-06-30 snapit [email protected] đăng nhập android 2015-06-29 snapit [email protected] đăng nhập android 2015-06-30 snapit [email protected] login android 2015-06-30 Điều này nên trả lại 2015-06-29 - 2 (hai nhật ký duy nhất cho mỗi người dùng trong ngày đó) 2015-06-30 - 3 (ba ..) Nhưng tôi nhận được: 2015-06-29 -4 2015-06-30 - 3 –
Bạn đã thử thêm nhiều trường vào khóa đang được phát, điều này sẽ giúp với việc loại bỏ các bản sao ... ví dụ, hãy thử điều này –