如何将这些数据插入我的Cloud Firebase? [关闭]

问题描述 投票:0回答:1

我正在尝试在Firebase上添加此数据,但我不知道如何使用Cloud Firebase集合。

[我想喜欢这个视频,但是有了Cloud Firebase,但我做不到。

我想将此数据添加到集合,文档中,并且知道如何在我的应用程序中调用它。

视频:https://youtu.be/6sXz2swm6Sw?t=115

  private data = [
     {
       category: 'Pizza',
       expanded: true,
       products: [
         { id: 0, name: 'Peperoni', price: '29.99', cantidad: 1},
         { id: 1, name: 'X', price: '15.85', cantidad: 1},
         { id: 2, name: 'XX', price: '15.85', cantidad: 1},
         { id: 3, name: 'XXX', price: '15.85', cantidad: 1},
       ]
     },
     {
       category: 'Bebida',
       products: [
         { id: 4, name: 'S', price: '29.99', cantidad: 1},
         { id: 5, name: 'ss', price: '15.85', cantidad: 1},
         { id: 6, name: 'sXX', price: '15.85', cantidad: 1},
         { id: 7, name: 'XSSXX', price: '15.85', cantidad: 1},
       ]
     },
     {
       category: 'Extras',
       products: [
         { id: 8, name: 'Saayer', price: '29.99', cantidad: 1},
         { id: 9, name: 'Xjhj', price: '15.85', cantidad: 1},
         { id: 10, name: 'XhjhgX', price: '15.85', cantidad: 1},
       ]
     }
   ];
json database firebase ionic4
1个回答
0
投票

如果您可以详细说明您的项目,这将非常有帮助:您想对这些数据做什么?还有什么完全不起作用?

无论如何,我会尝试的:)

1设置

我假设您已经设置了Firebase项目,并且您正在按照视频教程来创建Ionic应用程序。 Firebase中有两个数据库选项:Realtime DB和Cloud Firestore。我将使用Cloud Firestore回答您的问题。我认为这是可以选择的选项。

如果尚未执行此操作,则需要安装firebase客户端库:

npm install firebase

接下来,您需要在代码中的某处初始化Firebase和Cloud Firestore:

import firebase from 'firebase/app'
import 'firebase/firestore'

firebase.initializeApp({
  apiKey: '### FIREBASE API KEY ###',
  authDomain: '### FIREBASE AUTH DOMAIN ###',
  projectId: '### CLOUD FIRESTORE PROJECT ID ###'
})

const db = firebase.firestore()

2数据结构

[在Firestore中,有很多方法可以构建数据。一种方法是创建一个名为“产品”的集合,其中所有产品(比萨饼,贝比达(bebida),其他产品)都将在此集合中表示为文档。

文档将如下所示:

{
id: "OXAbX0JX0PnmCutB7TLF",
name: "Peperoni Pizza",
category: "pizza",
prize: 14.99
}

{
id: "5RQqXpsxyfrtt46ZCyDy",
name: "Coca Cola",
category: "drink",
prize: 4.00
}

和其他类别:“ extras”。您还可以为饮料和比萨饼添加一个“大小”字段(如小,中,大)。

Firebase会为您生成ID。

3将数据添加到Firestore

通过上述设置,您现在可以将数据作为文档添加到您的收藏夹中。

db.collection("products").add({
    name: "Peperoni Pizza",
    category: "pizza",
    prize: 14.99
}

((这将生成一个具有如上所述的自动生成的ID的文档)

全部:

const products = [
  {
    name: 'Peperoni Pizza',
    category: 'pizza',
    prize: 14.99
  },
  {
    name: 'Coca Cola',
    category: 'drink',
    prize: 4.95
  },
  {
    name: 'Mozzarella',
    category: 'extras',
    prize: 1.0
  }
]

products.forEach(product => {
  db.collection('products')
    .add(product)
    .then(docRef => console.log('Document written with ID: ', docRef.id))
    .catch(error => console.error('Error adding document: ', error))
})

现在您有了一个名为“产品”的集合,其中包含代表您的数据的文档。

4读取应用程序中的数据

使用Firestore,您可以像这样查询文档:

let myProducts = []
db.collection('products')
  .get()
  .then(snapshot => {
    snapshot.forEach(doc => {
      const newProduct = { id: doc.id, ...doc.data() }
      console.log('Adding', newProduct.name)
      myProducts.push(newProduct)
    })
  })

或您按类别查询:

let myPizzas = []
db.collection('products')
  .where('category', '==', 'pizza')
  .get()
  .then(snapshot => {
    snapshot.forEach(doc => {
      const newPizza = { id: doc.id, ...doc.data() }
      console.log('Adding', newPizza.name)
      myPizzas.push(newPizza)
    })
  })

...,然后在应用程序用户界面中显示您的产品。

5学习云Firestore


希望我能帮忙:)编码愉快!

© www.soinside.com 2019 - 2024. All rights reserved.