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

Chuyển đổi ngày ISO sang định dạng yyyy-mm-dd

Cân nhắc chạy một đường dẫn tổng hợp sẽ cho phép bạn làm phẳng danh sách dữ liệu trước, chiếu trường mới bằng cách sử dụng $dateToString , sau đó tập hợp lại các tài liệu đã làm phẳng để có được kết quả mong muốn của bạn.

Những điều trên có thể được thể hiện trong ba đường ống riêng biệt:

db.users.aggregate([
    { "$match": { "username": "xyz" } },
    { "$unwind": "$followers" },
    {
        "$project": {
            "username": 1,
            "count": "$followers.count",
            "date": { "$dateToString": { "format": "%Y-%m-%d", "date": "$followers.ts" } }
        }
    },
    {
        "$group": {
            "_id": "$_id",
            "username": { "$first": "$username" },
            "followers": { "$push": {
                "count": "$count",
                "date": "$date"
            }}
        }
    }
])

Với MongoDB 3.4 và mới hơn, bạn có thể sử dụng $addFields bước đường dẫn cùng với $map để tạo trường mảng mà không cần rút lại và nhóm:

db.users.aggregate([
    { "$match": { "username": "xyz" } },    
    {
        "$addFields": {
            "followers": { 
                "$map": { 
                    "input": "$followers", 
                    "as": "follower",
                    "in": { 
                        "count": "$$follower.count", 
                        "date": { 
                            "$dateToString": { 
                                "format": "%Y-%m-%d", 
                                "date": "$$follower.ts" 
                            }
                        } 
                    } 
                } 
            }
        }
    }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách thực hiện tìm kiếm ký tự đại diện trong MongoDB bằng Java

  2. kết nối mongoengine và nhiều cơ sở dữ liệu

  3. Trong NodeJS, làm thế nào để xuất kết quả từ mongodb với các tên trường khác nhau?

  4. MongoDB:Mảng chỉ mục không gian địa lý không đúng định dạng

  5. Passport.js và Mongoose.js điền Người dùng khi đăng nhập - mất trường đã điền trên req.user