我有一个包含日志的子集合,但只想保留X最新日志以解决存储问题。我试图找出保持日志集合较小的最具成本效益的方法。 (日志都有时间戳)
UPDATE
似乎解决方案是每X天运行一次维护作业服务器端以删除额外的日志。
但这导致了我的下一个问题。有没有办法查询相反的限制?例如:
我有105个日志,我需要先保留100个。我可以先查询100以外的全部吗?或者是咬住子弹并执行这105次读取然后5次删除的唯一方法。
为什么不保留它们呢?您始终可以运行调用https触发器的外部每周/每月cron作业来批量删除早于特定日期的日志。
日期和当前日期是unix TimeStamp。
检索文档时,您可以使用where(date, "<=", currentDate).limit(x)
每日或每周的工作听起来都是对的。
OrderBy和limit应该适用于查询。
it("should order and limit", () => {
var logRef = db.collection("log");
// [START order_and_limit]
logRef.orderBy("date").limit(10)
// [END order_and_limit]
});