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

Có thể so sánh chuỗi ngày trong mongodb không?

Nếu bạn muốn chọn các bản ghi thì hãy sử dụng phạm vi ngày:

db.collection.find({
    created: { "$gte": new Date("2013-05-27"), "$lt": new Date("2013-05-28") }
})

Và điều đó chọn tất cả các giờ, phút, v.v., nằm giữa hai ngày.

Vì vậy, bạn nên đang cố gắng sử dụng các giá trị ngày tháng và không ép buộc thành chuỗi.

Nếu bạn muốn điều này để thực hiện tổng hợp hoặc cần kết quả ở định dạng chỉ trong ngày, sau đó thực hiện việc này bằng cách sử dụng $ project và ngày toán tử :

db.collection.aggregate([
    // Still match on the normal date forms, this time whole month
    { "$match": {
        created: { 
           "$gte": new Date("2013-05-01"), 
           "$lt": new Date("2013-05-31") 
        }
    }},

    // Project the date
    { "$project": {
        "date": {
            "year"  : { "$year"  : "$created" },
            "month" : { "$month" : "$created" },
            "day":  : { "$dayOfMonth": "$created" }
        },
        "title": 1
    }},

    // Group on day and title
    { "$group": {
        "_id": {
            "date"  : "$date",
            "title" : "$title"
        },
        "count": { "$sum": 1 }
    }},

    // Sort by date
    { "$sort": { 
        "_id.date.year": 1,
        "_id.date.month": 1,
        "_id.date.day": 1,
    }},

    // Project nicer dates and document
    { "$project": {
        "_id": 0,
        "date": { "$concat": [
            { "$substr": [ "$_id.date.year", 0, 4 ] },
            "-",
            { "$substr": [ "$_id.date.month", 0, 2 ] },
            "-",
            { "$substr": [ "$_id.date.day", 0, 2 ] }
        ]},
        "title": "$_id.title",
        "count": 1
    }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Nhận tài liệu với các đối tượng lồng nhau phù hợp với điều kiện đếm

  2. Cơ sở dữ liệu MongoDb so với Bộ sưu tập

  3. Spring Data MongoDB với Java 8 LocalDate MappingException

  4. Sử dụng $ unwind và $ text trong mongodb khung tổng hợp

  5. truy vấn mongodb không có tên trường