Кто-нибудь знает, как ограничить массив, чтобы новые элементы вставлялись, а старые отбрасывались при одной и той же записи?
Я предполагаю, что это невозможно, но это наверняка было бы удобно.
// * 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,
})
});
Написано на машинописном языке
В качестве альтернативы я думал запускать запланированную облачную функцию каждую неделю, чтобы просматривать и обрезать массивы на основе метки времени.
Причина, по которой я использую массив для хранения своих уведомлений, заключается в том, что я ожидаю много записей.