Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从mongodb筛选到字符串格式日期之间的数据库_Mongodb_Mongodb Query - Fatal编程技术网

如何从mongodb筛选到字符串格式日期之间的数据库

如何从mongodb筛选到字符串格式日期之间的数据库,mongodb,mongodb-query,Mongodb,Mongodb Query,上面是我的数据库结构 [ { "item": "journal", "qty": 25,"date":"1/1/2016", "status": "A" }, { "item": "notebook", "qty": 50,"date":"10/1/2016", "status": "A" }, { "item": "paper", "qty": 100,"date":"20/1/2016", "status": "D" }, { "item": "planner", "

上面是我的数据库结构

[
   { "item": "journal", "qty": 25,"date":"1/1/2016", "status": "A" },
   { "item": "notebook", "qty": 50,"date":"10/1/2016", "status": "A" },
   { "item": "paper", "qty": 100,"date":"20/1/2016", "status": "D" },
   { "item": "planner", "qty": 75,"date":"1/2/2016", "status": "D" },
   { "item": "postcard", "qty": 45,"date":"10/2/2016", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"20/5/2016", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"30/7/2016", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"2/3/2017", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"5/5/2017", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"6/5/2017", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"8/10/2017", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"11/10/2017", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"12/11/2017", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"4/3/2018", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"5/6/2018", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"6/7/2018", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"7/7/2018", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"17/11/2018", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"19/12/2018", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"5/1/2019", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"7/1/2019", "status": "A" },
   { "item": "postcard", "qty": 45,"date":"14/3/2019", "status": "A" }
]
这是我试图从数据库中获取数据的查询

在数据库中,我有字符串格式的日期。 我想用上面的方法去拿,没用

给出结果

db.lichi.find({date: {$gte : '1/1/2016', $lt : '1/1/2019'}})
只有两份文件


请看一看。

将日期存储为字符串不是最好的主意,因为在这种情况下,您必须比较字符串而不是日期。如果出于某种原因,您必须将
日期
保留为字符串,则可以在查询中使用进行转换,然后应用过滤条件:

  { "item": "journal", "qty": 25,"date":"1/1/2016", "status": "A" },
  { "item": "notebook", "qty": 50,"date":"10/1/2016", "status": "A" }

首先使用momentjs设置日期的格式我正在使用PythonCold你能帮我如何使用它吗?如果我有两位数格式的日期,如“01/02/2016”,我该如何设置格式database@soubhagya请看这里:
db.lichi.aggregate([
    {
        $addFields: {
            date: {
                $dateFromString: {
                    dateString: "$date",
                    format: "%d/%m/%Y"
                }
            }
        }
    },
    {
        $match: {
            date: { $gte: ISODate("2016-01-01T00:00:00Z"), $lt: ISODate("2019-01-01T00:00:00Z") }
        }
    }
])