Firestore 和数据库全局选项
如果您发现自己一直在将相同的选项传递给 useDocument()
、useDatabaseObject()
等,可以使用全局选项来避免重复。
ts
import { globalFirestoreOptions } from 'vuefire'
globalFirestoreOptions.converter = ...
更改这些选项将影响您应用程序中对 useDocument()
、useDatabaseObject()
等的**所有调用**,**以及选项 API 调用**($firestoreBind()
、$rtdbBind()
)。
自定义 serialize
/converter
在调整 serialize
/converter
或使用 .withConverter()
时,**您需要确保返回的对象包含其原始 id
**,以便其他 VueFire 功能能够正常工作。最简单的方法是重复使用默认的 serialize
/converter
ts
import { firestoreDefaultConverter, globalFirestoreOptions } from 'vuefire'
globalFirestoreOptions.converter = {
// the default converter just returns the data: (data) => data
toFirestore: firestoreDefaultConverter.toFirestore,
fromFirestore: (snapshot, options) => {
const data = firestoreDefaultConverter.fromFirestore(snapshot, options)
// if the document doesn't exist, return null
if (!data) return null
// add anything custom to the returned object
data.metadata = snapshot.metadata
return data
},
}