繁体   English   中英

如何在mongodb中根据日期范围过滤数据

[英]how to filter data based on range of date in mongodb

[{
    "_id": {
        "$oid": "5d7a76c94c3c8c05618cef58"
    },
    "title": "hello",
    "date": {
        "$date": "2019-06-07T07:22:00.000Z"
    },
    "__v": 0
}, {
    "_id": {
        "$oid": "5d7a7809ef31980615ed3756"
    },
    "title": "hello",
    "date": {
        "$date": "2019-06-08T07:22:00.000Z"
    },
    "__v": 0
}, {
    "_id": {
        "$oid": "5d7a78e712c75706a3fdb025"
    },
    "title": "hello6",
    "date": {
        "$date": "2019-07-19T08:22:00.000Z"
    },
    "__v": 0
}, {
    "_id": {
        "$oid": "5d7a78e712c75706a3fdb025"
    },
    "title": "hello7",
    "date": {
        "$date": "2019-07-03T08:22:00.000Z"
    },
    "__v": 0
}]

我正在使用mongoose将数据存储在mongodb中,我正在尝试使用mongoose过滤数据

我想要日期为2019-07-012019-07-31所有文档。我们可以在mongoDB中的mongoose上执行此过滤器吗

预期产量

[
{
    "_id": {
        "$oid": "5d7a78e712c75706a3fdb025"
    },
    "title": "hello6",
    "date": {
        "$date": "2019-07-19T08:22:00.000Z"
    },
    "__v": 0
}, {
    "_id": {
        "$oid": "5d7a78e712c75706a3fdb025"
    },
    "title": "hello7",
    "date": {
        "$date": "2019-07-03T08:22:00.000Z"
    },
    "__v": 0
}
]

这是我的代码https://codesandbox.io/s/lively-tree-hd0fo

app.get("/saveData", async () => {
  try {
    var blog = new BlogPostModel({
      title: "hello6",
      date: "19-Jul-2019 08:22"
    });
    console.log("before save");
    let saveBlog = await blog.save(); //when fail its goes to catch
    console.log(saveBlog); //when success it print.
    console.log("saveBlog save");
  } catch (error) {
    console.log(error);
  }
});

您可以使用MongoDB的$gte (大于或等于)和$lte (小于或等于):

blog.find({ date: { $gte: '2019-07-01', $lte: '2019-07-31' } });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM