Я думаю, вы пытаетесь это сделать:
var recentPostsRef = firebase.database().ref('user-posts').child(pid).limitToLast(10);
recentPostsRef.once('value', async function(snapshot) {
var updates2 = {};
snapshot.forEach((subChild) => {
var key = subChild.key;
var postData = {
postID: key,
user: pid
};
updates2['/feed/' + userID + '/' + key] = postData;
});
firebase.database().ref().update(updates2);
});
Внесенные мной изменения:
- Получить ключ от
subChild.key
, а не через более сложный поиск. - Переместите вызов
update(...)
за пределы l oop, чтобы вы выполняли запись в базу данных только один раз для всех 10 элементов. - Поскольку вы не использовали
value
, я удалил эту переменную.
Обратите внимание, что у нас нет способа узнать, какое значение имеет userID
, поэтому я просто предположил, что эта часть верна.