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

Tránh trường hợp không có kết quả khi sử dụng $ dateFromString trên một trường

Bạn có thể thực hiện việc này bằng cách kiểm tra xem ngày tháng có bị trống hoặc bị thiếu không bằng cách sử dụng $type , nếu nó bị thiếu thì hãy xóa bằng cách sử dụng $$REMOVE ,

db.collection.aggregate([
  {
    $project: {
      date1: {
        $cond: {
          if: {
            $or: [
              { $eq: [{ $type: "$date1" }, "missing"] },
              { $eq: ["$date1", null] }
            ]
          },
          then: "$$REMOVE",
          else: {
            $dateFromString: {
              dateString: {
                $dateToString: {
                  format: "%Y-%m-%d",
                  date: "$date1"
                }
              }
            }
          }
        }
      },
      date2: {
        $cond: {
          if: {
            $or: [
              { $eq: [{ $type: "$date2" }, "missing"] },
              { $eq: ["$date2", null] }
            ]
          },
          then: "$$REMOVE",
          else: {
            $dateFromString: {
              dateString: {
                $dateToString: {
                  format: "%Y-%m-%d",
                  date: "$date2"
                }
              }
            }
          }
        }
      },
      date3: {
        $cond: {
          if: {
            $or: [
              { $eq: [{ $type: "$date3" }, "missing"] },
              { $eq: ["$date3", null] }
            ]
          },
          then: "$$REMOVE",
          else: {
            $dateFromString: {
              dateString: {
                $dateToString: {
                  format: "%Y-%m-%d",
                  date: "$date3"
                }
              }
            }
          }
        }
      }
    }
  }
])

Sân chơi




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách so sánh 2 trường trong Spring Data MongoDB bằng đối tượng truy vấn

  2. Mongoose điền mảng lồng nhau

  3. không thể truy cập các thuộc tính của req.user

  4. Truy cập các đối tượng lồng nhau trong MongoDB

  5. Tìm xem ai đó có sinh nhật trong 30 ngày tới với mongo hay không