MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Các phương pháp tiếp cận MongoDB để lưu trữ một lượng lớn dữ liệu số liệu / phân tích

Câu trả lời đã cập nhật

Bị tấn công cùng nhau trong trình bao mongo:

use pagestats;

// a little helper function
var pagePerHour = function(pagename) {
    d = new Date();
    return {
        page : pagename,
        year: d.getUTCFullYear(),
        month: d.getUTCMonth(),
        day : d.getUTCDate(),
        hour: d.getUTCHours(),
    }
}

// a pageview happened
db.pagestats.update(
    pagePerHour('Hello'),
    { $inc : { views : 1 }},
    true ); //we want to upsert

// somebody tweeted our page twice!
db.pagestats.update(
    pagePerHour('Hello'),
    { $inc : { tweets : 2 }},
    true ); //we want to upsert

db.pagestats.find();
// { "_id" : ObjectId("4dafe88a02662f38b4a20193"),
//   "year" : 2011, "day" : 21, "hour" : 8, "month" : 3,
//   "page" : "Hello",
//   "tweets" : 2, "views" : 1 }

// 24 hour summary 'Hello' on 2011-4-21
for(i = 0; i < 24; i++) {
    //careful: days (1-31), month (0-11) and hours (0-23)
    stats = db.pagestats.findOne({ page: 'Hello', year: 2011, month: 3, day : 21, hour : i})
    if(stats) {
        print(i + ': ' + stats.views + ' views')
    } else {
        print(i + ': no hits')
    };
}

Tùy thuộc vào khía cạnh bạn muốn theo dõi, bạn có thể cân nhắc thêm nhiều bộ sưu tập hơn (ví dụ:bộ sưu tập để theo dõi người dùng làm trọng tâm). Hy vọng điều đó sẽ hữu ích.

Xem thêm

Bài đăng trên blog về Dữ liệu Analytics



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để lấy dữ liệu ReferenceField trong mongoengine?

  2. Tìm các điểm gần nhất đến một điểm nhất định với tọa độ và khoảng cách tối đa của nó - Kết quả truy vấn không xác định bằng cách sử dụng Mongoose với MEAN Stack

  3. Mongodb \ BSON \ Regex Php:Thực hiện Giống như Trận đấu

  4. MongoDB $ setIsSubset

  5. Làm cách nào để lưu trữ các giá trị boolean trong mongodb?