我正在尝试在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},
]
}
];
如果您可以详细说明您的项目,这将非常有帮助:您想对这些数据做什么?还有什么完全不起作用?
无论如何,我会尝试的:)
我假设您已经设置了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()
[在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。
通过上述设置,您现在可以将数据作为文档添加到您的收藏夹中。
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))
})
现在您有了一个名为“产品”的集合,其中包含代表您的数据的文档。
使用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)
})
})
...,然后在应用程序用户界面中显示您的产品。
关于Cloud Firestore的YouTube播放列表非常好:https://www.youtube.com/playlist?list=PLl-K7zZEsYLluG5MCVEzXAQ7ACZBCuZgZ
我可以推荐Firebase文档:https://firebase.google.com/docs/firestore/quickstart
希望我能帮忙:)编码愉快!