简短的一般性问题:是否有一个监听器(具有firebase实时、函数或一般)我可以设置存储在firebase实时对象中的日期,当日期到期时删除该对象?
长的具体问题:我正在使用 firebase 实时数据库和 firebase 功能来构建一个市场应用程序,用户可以在其中对产品进行投标,但这些投标将在应用程序中存储的日期到期。用户还可以按最高或最低出价搜索/过滤产品,我正在使用 algolia 进行全文搜索和类型过滤。为了最大限度地降低成本,我像这样构建我的数据库:
出价 {expirationDate, productID, ... etc.} products {highestBidID,highestBidCost,lowestBidID,lowestBidCost, ... etc.}(algolia 模型对于所有可搜索/可过滤的变量具有相似的结构)
我遇到的问题是如何删除过期的投标,然后如果投标包含储值,则更新产品模型和 aloglia 模型。
我能想到的唯一方法(给定我设置的数据库)是在投标项目上使用某种监听器,如果投标过期并且投标是最高或最低投标,则调用另一个更新产品模型的函数和 algolia 模型分别处理下一个最高/最低出价。
我强烈反对每次拉产品时只更新最高/最低出价,因为这会导致大量额外电话,增加费用并减慢一切。我还必须从 algolia 模型中删除最高/最低出价,并且仅在从 algolia 返回列表后才进行过滤,这会大大增加调用次数。
这种听众存在吗?有一个更好的方法吗?