我有一个带有日志的子集合,但只想保留X个最新的日志以解决存储问题。我正在尝试找出使该日志收集较小的最经济有效的方法。 (所有日志都有时间戳)
更新
似乎解决方案是每X天运行一次维护作业服务器端以删除多余的日志。
但这导致了我的下一个问题。 是否可以查询与限制相反的值?例如:
我有105条日志,我需要保留100条日志。我可以先查询除100外的所有内容吗?或者是咬住子弹并进行105次读取然后删除5次的唯一方法。
答案 0 :(得分:4)
为什么不只保留它们?您始终可以运行外部每周/每月cron作业,该作业调用https触发器以批量删除早于特定日期的日志。
日期,而currentDate是unixTimeStamp。
检索文档时,您可以使用where(date, "<=", currentDate).limit(x)
答案 1 :(得分:1)
每天或每周的工作听起来不错。
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]
});