我面临着mongoDb日期字段的问题,我在MongoDB集合中有一列是日期类型,它以ISO格式存储整个日期。它以ISO格式存储整个日期,如下图所示。
2020-05-13T14:00:00.000
现在,从我的api中,我通过 2020-05
途径 YYYY-MM
而我想用 2020-05
值在db中。
我已经尝试了多个选项,如下所示。
Date mydate=new Date();
Criteria criterid = Criteria
.where("date").is(mydate)
我的数据库中有以下数据
|---------------------|------------------|------------------|
| Name | ID | Date |
|---------------------|------------------|------------------|
| A | 1 |2020-05-13T14:00:00|
|---------------------|------------------|------------------|
| B | 2 |2020-12-31T14:00:00|
|---------------------|------------------|------------------|
| C | 3 |2020-07-17T14:00:00|
|---------------------|------------------|------------------|
| D | 4 |2020-05-29T14:00:00|
|---------------------|------------------|------------------|
enter code here
如果我将通过 "2020-05",那么它应该返回。
|---------------------|------------------|--------------------|
| Name | ID | Date |
|---------------------|------------------|--------------------|
| A | 1 |2020-05-13T14:00:00 |
|---------------------|------------------|--------------------|
| D | 4 |2020-05-29T14:00:00 |
|---------------------|------------------|--------------------|
在mongoDb中是否有类似 STR_TO_DATE()
在MySQL和 TO_DATE()
在oracle`**中。
我正试图在Spring Boot应用程序中实现这个功能。
试试上面的查询。
它将帮助你。
一个解决方案是这个。
db.collection.find({
$expr: {
$and: [
{ $eq: [{ $year: "$Date" }, 2020] },
{ $eq: [{ $month: "$Date" }, 5] }
]
}
})