如何在写入时限制Firestore中数组的大小



有人知道如何限制数组,以便在同一写入中推送新项并丢弃旧项吗?

我猜这是不可能的,但肯定会很方便。

// * Store notification
// Users collection
const usersCollection = db.collection('users').doc(uid).collection('notifications').doc();
// Write this notification to the database as well
await usersCollection.update({
count: admin.firestore.FieldValue.increment,
notifications: admin.firestore.FieldValue.arrayUnion({
'symbol': symbol,
'companyname': companyname,
'change': priceDifference,
'changeDirection': directionOperatorHandler,
'updatedPrice': symbolLatestPrice,
'timestamp': currentTimestamp,
})
});

用Typescript编写


或者,我想每周运行一个调度的云函数,根据时间戳来遍历和修剪数组。

我之所以使用数组来存储通知,是因为我预计会有很多写入操作。

没有简单的配置。您的代码应该通过以下方式实现您的需求:

  1. 阅读文档
  2. 修改内存中的数组
  3. 检查尺寸是否在限制范围内
  4. 将文档写回

相关内容

  • 没有找到相关文章

最新更新