我正在尝试使用gridsome-plugin-firestore插件(https://gridsome.org/plugins/gridsome-source-firestore)。我想使用该插件连接到名为news的简单Firestore数据库集合。新闻有许多涉及各个领域的文件:
有人知道我应该如何设置gridsome.config文件以使用gridsome-plugin-firestore插件访问此集合吗?我不能从给出的说明中弄清楚。
答案 0 :(得分:0)
Gridsome文档比npm版本更清晰,但是您需要生成Firebase Admin SDK私钥,然后将整个文件下载到Gridsome应用程序中,然后将其作为模块导入到gridsome.config.js中,并以任意名称命名您想要选项>凭据:require字段,如下所示。
首先,您需要Firestore插件
$ yarn add gridsome-source-firestore
然后在gridsome.config.js中
const { db } = require('gridsome-source-firestore')
module.exports = {
plugins: [
{
use: 'gridsome-source-firestore',
options: {
credentials: require('./my-project-firebase-adminsdk-qw2123.json'), //
Replace with your credentials file you downloaded.
debug: true, // Default false, should be true to enable live data updates
ignoreImages: false, // Default false
imageDirectory: 'fg_images', // Default /fg_images
collections: [
{
ref: (db) => {
return db.collection('news')
},
slug: (doc, slugify) => {
return `/news/${slugify(doc.data.title)}`
},
children: [
{
ref: (db, parentDoc) => {
return parentDoc.ref.collection('posts')
},
slug: (doc, slugify) => {
return `/${slugify(doc.data.title)}`
},
}
]
}
]
}
}
]
}
您可能必须根据数据库结构将“帖子”更改为“内容”,并更改相应的页面查询以适合,在Github https://github.com/u12206050/gridsome-firestore-starter.git上的Gridsome Firestore入门中有一些示例和其他有用的设置信息