曾经有过类似标题的问题,但是似乎没有一个适合我的需求。
{
'_id': '4e51b88f-b62f-4b62-81208e6011c9a388',
'name': 'dinky', 'phone': '91216098',
'blacklist': False,
'events': [
{
'startsAt': '2018-07-16T18:00:53.397',
'endsAt': '2018-07-16T18:10:53.397',
'title': 'dinky Appointment',
'note': ''
},
{
'startsAt': '2018-07-30T18:00:00.000',
'endsAt': '2018-07-30T18:10:00.000',
'title': 'dinky',
'note': ''
},
{
'startsAt': '2018-08-02T18:08:54.247',
'endsAt': '2018-08-02T18:18:54.247',
'title': 'dinky',
'note': ''
},
{
'startsAt': '2018-08-09T18:45:09.146',
'endsAt': '2018-08-09T18:55:09.146',
'title': 'dinky',
'note': ''
}
],
'additionalPhones': []
}
以上是示例文档。我想查询基于event.startsAt日期。我想要的结果是与该日期匹配的事件。
这是我尝试过的。
todaysEvent = db.find({"events": { "$elemMatch": {"startsAt": { "$regex": "2018-08-09" }}}} )
但是,当我使用此功能时,最终会得到包含当天发生的事件的文档,但它会显示该日期以外的所有其他事件。我只想显示与该日期匹配的事件。
仅供参考,我正在使用pymongo。
谢谢!