Вы можете использовать метод orderByChild
и сортировать по limitToFirst
(или limitToLast
из-за ваших отрицательных временных меток), которые получат первая созданная временная метка.
Не уверен, почему ваши метки времени имеют -
перед ними. Пример в Typescript может выглядеть примерно так:
function searchAndDeleteTokens(userId: string): Promise<void> {
return firebase.database().ref(`/users/${userId}/tokens`)
.orderByChild('createdAt')
.limitToFirst(1)
.once('value')
.then(async snapshots => {
snapshots.forEach(snapshot => {
const tokenKey = snapshot.key;
await deleteToken(userId, snapshot.key);
return false;
});
});
}
async function deleteToken(userId: string, tokenId: string): Promise<void> {
return firebase.database().ref(`/users/${userId}/tokens/${tokenId}`).delete();
}
searchAndDeleteTokens('133'); // User ID 133