我有我的mongoDB中包含日期时间和其他值的对象的集合。 我该如何去查询按日期时间查询对象,时间戳设置为9点?在MongoDB中按日期查询日期时间
所以,如果我有以下集合...
id : 1, date : ISODate("2017-07-16T09:00:00.000+0000")
id : 2, date : ISODate("2017-01-17T07:00:00.000+0000")
id : 3, date : ISODate("2017-07-27T09:00:00.000+0000")
id : 4, date : ISODate("2017-03-20T09:00:00.000+0000")
id : 5, date : ISODate("2017-03-07T10:00:00.000+0000")
id : 6, date : ISODate("2017-07-04T11:00:00.000+0000")
返回值应该是...
id : 1, date : ISODate("2017-07-16T09:00:00.000+0000")
id : 3, date : ISODate("2017-07-27T09:00:00.000+0000")
id : 4, date : ISODate("2017-03-20T09:00:00.000+0000")
我是相当新的MongoDB的,而不是非常有经验将JS等等请尽量保持尽可能简单。为了说明,Neil Lunn将这个问题标记为 This Question的重复,我认为这是部分正确的,但它也比我需要的更复杂。
我不需要分组或任何这种性质,我只是想要一个查询,告诉我哪些文档存在包含此时间戳。
我对MongoDB相当陌生,所以让我来总结一下,看看我是否正确地得到这个结果:对于每个文档,你取日期,格式化它,把它变成一个字符串,然后到一个时间部分,然后你将它匹配到另一个由字符串组成的时间部分? – SpiritBH
我已经更新了答案,以解释聚合管道的性质。希望有所帮助。 – glytching
谢谢你,这个工作就像一个魅力,你帮助我更好地理解这一点。 – SpiritBH