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

Nhận ngày đầu tiên trong tuần từ số tuần trong mongodb

Đối với mongo> =v3.4, hãy nhìn vào weekStart. Ý tưởng là cấu trúc phần nghìn giây từ Dấu thời gian đã cho

db.raw.aggregate([
         // stage 1
        { "$match" : {
            "Timestamp":{
                "$gte": ISODate("2012-05-30"), 
                "$lt": ISODate("2014-07-31")
            }
        }},

         // stage 2
        { "$project" : {

           ApplicationId: 1,
           Country: 1,
           week: {$isoWeek: "$Timestamp"},

           // [TRICK IS HERE] Timestamp - dayOfWeek * msInOneDay
           weekStart: { $dateToString: { format: "%Y-%m-%d", date: { // convert date
             $subtract: ["$Timestamp", {$multiply: [ {$subtract:[{$isoDayOfWeek: "$Timestamp"},1]}, 86400000]}] 
           }}},

         // stage 3
        { "$group" : {
        "_id":{ 
            "ApplicationId": "$ApplicationId",
            "Country": "$Country",
            "week": "$week"
        },
        "Date":{ "$first": "$weekStart" },
        "Visits": { "$sum": 1 }
        }}        
 ])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tìm kiếm toàn bộ và một phần văn bản trong MongoDB

  2. Spring Boot thiết lập kho lưu trữ MongoDB

  3. Không thể tạo dự án meteor.js đang hoạt động trên hộp vagrant

  4. Lưu, sắp xếp và truy vấn các sản phẩm, tùy chọn / thẻ và danh mục

  5. Có ai đã thử MongoDB trên Google App Engine không?