Google cloud firestore 使用历元时间戳在时间戳字段上查询Firestore集合

Google cloud firestore 使用历元时间戳在时间戳字段上查询Firestore集合,google-cloud-firestore,Google Cloud Firestore,请告知如何在时间戳字段上查询firestore集合 即使数据库中存在多个填充了日期字段(时间戳类型)的文档,下面的查询也不会返回任何内容: db.collection("users").doc('john'). collection("comment"). where("date", ">", 0). get() 为了能够使用日期字段进行查询,您需要将日

请告知如何在时间戳字段上查询firestore集合

即使数据库中存在多个填充了日期字段(时间戳类型)的文档,下面的查询也不会返回任何内容:

db.collection("users").doc('john').
         collection("comment").
         where("date", ">", 0).
         get() 

为了能够使用日期字段进行查询,您需要将日期(在本例中为文档中的日期字段)与日期进行比较。
0
不被视为数字0,因此这会影响比较

它应该是这样的:
where(“date”,“>”,new date())
。如果要比较基于历元时间戳的日期,一个好的解决方案是使用where转换新日期,如前所述:
where(“date”,“>”,new date(历元*1000))
。在查询的
where
部分使用比较后,返回应该正确


除此之外,还可以找到更多为Firestore转换时间戳的示例。

为了能够使用日期字段进行查询,您需要将日期(在本例中,是文档中的日期)与日期进行比较。
0
不被视为0,因此这可能会影响您的比较。请您将
where(“date”,“>”,0)
部分更改为类似
where(“date”,“>”,new date())
?这样,您应该在
Date
类型字段之间进行比较。@gso_gabriel谢谢,所以为了比较db时间戳和历元时间戳,我必须使用类似
where(“Date”,“>”,new Date(历元*1000))
Hi@user947668是的,准确地说。通过这种方式,你将转换到一个大概的日期-考虑到你的结构,这可能是有意义的,我不能确定-但是的,这种方式应该工作。在Firestore中可以找到更多转换时间戳的示例。让我知道这是否对您有帮助,以及您是否认为我可以在此处发布关于我的帮助的答案,以便您可以接受或投票,以帮助社区的未来用户。:)@gso_gabriel我检查了查询,它按预期工作。你可以把它贴出来作为答案。谢谢你的帮助