Как динамически представлять идентификатор ключа JSON в объекты JSON

#javascript #json #firebase

#javascript #json #firebase

Вопрос:

Я хотел бы написать скрипт, который передает данные json, но в паре ключ-значение, например

 [{
   "some id" : {"some data"}
}];
  

до сих пор я был в состоянии написать это

 const  allProducts= [];
const productsCollection = db.collection('products');
let productsDocument = (await productsCollection.get()) ;

productsDocument.forEach(doc => allProducts.push( { ...doc.id  [{ 
        ...doc.data() }]} ) );;
  

Я бы хотел чего-то подобного

 productsDocument.forEach(doc => allProducts.push({ doc.id : { ...doc.data() } }));
  

поскольку идентификатором является документ

Комментарии:

1. Пожалуйста, напишите, какую базу данных вы используете, и полный код

2. firebase firestore, я обновил

Ответ №1:

Вы можете просто использовать индексацию.

 productsDocument.map(doc => allProducts[doc['id']] = doc.data));
  

Комментарии:

1. productsDocument представляет собой массив firebase и не имеет функции map

2. Если это так, то вы можете использовать forEach вместо map . Это тоже будет работать таким образом.