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

Sử dụng toán tử $ gte và <e mongo nếu ngày ở định dạng chuỗi trong mongodb

Bạn có thể thử tổng hợp bên dưới trong mongodb 3.6

Bạn có thể sử dụng $dateFromString tổng hợp để chuyển đổi dob của bạn từ chuỗi đến ngày và sau đó dễ dàng $count các tài liệu áp dụng $match trên đó.

1) Sử dụng kết hợp với $addFields

db.panelists.aggregate([
  { "$addFields": {
    "date": {
      "$dateFromString": { "dateString": "$dob", "format": "%m-%d-%Y" }
    } 
  }},
  { "$match": {
    "date": {
      "$gte": moment('08-02-1998').toDate(),
      "$lte": moment('08-02-2003').toDate()
    }
  }},
  { "$count": "count" }
])

2) Sử dụng truy vấn tìm đơn giản với $expr

db.collection.find({
  "$expr": {
    "$and": [
      {
        "$gte": [
          { "$dateFromString": { "dateString": "$dob", "format": "%m-%d-%Y" }},
          ISODate("2000-02-22T00:00:00Z")
        ]
      },
      {
        "$lte": [
          { "$dateFromString": { "dateString": "$dob", "format": "%m-%d-%Y" }},
          ISODate("2000-02-24T00:00:00Z")
        ]
      }
    ]
  }
})

3) Sử dụng kết hợp với $expr

db.collection.aggregate([
  { "$match": {
    "$expr": {
      "$and": [
        {
          "$gte": [
            { "$dateFromString": { "dateString": "$dob", "format": "%m-%d-%Y" }},
            ISODate("2000-02-22T00:00:00Z")
          ]
        },
        {
          "$lte": [
            { "$dateFromString": { "dateString": "$dob", "format": "%m-%d-%Y" }},
            ISODate("2000-02-24T00:00:00Z")
          ]
        }
      ]
    }
  }}
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách sử dụng các biến trong hàm bản đồ MongoDB Map-Reduce

  2. Làm cách nào để tham chiếu một lược đồ khác trong lược đồ Mongoose của tôi?

  3. Cách định dạng dữ liệu trong Model trước khi lưu trong Mongoose (ExpressJS)

  4. MongoDB Tìm hiệu suất:chỉ số phức hợp đơn VS hai chỉ mục trường đơn

  5. Thêm Zeros hàng đầu trong SQL