对于一个我们要尝试使用Firebase数据库的新项目,其想法是存储SEO,产品,用户首选项等。
我们期望SEO数据将成为更大的空间消耗者,并且客户无需将其保存在本地,因为这些信息仅用于统计目的
是否可以仅在某些节点上启用Firebase数据库持久性,而排除其他节点?
感谢您的帮助
答案 0 :(得分:1)
持久性只能配置为全部或不配置。实时数据库和Cloud Firestore都是如此。没有细化的持久性设置。请随时file a feature request。
答案 1 :(得分:0)
要执行此操作,您可以配置两个单独的Firebase实例-一个实例的持久性已打开,而另一个实例的持久性已关闭,即使它们都指向同一个数据库(也可以为多个不同的数据库进行配置)是为此而创建的。
下面的示例在 Swift 中,但是我想在其他平台上也应该有相同的示例:
if let path = Bundle.main.path(forResource: firebasePlistFileName, ofType: "plist"), let options = FirebaseOptions(contentsOfFile: path) {
FirebaseApp.configure(options: options)
FirebaseApp.configure(name: "DatabaseWithoutPersitence", options: options)
}
Database.database().isPersistenceEnabled = true
if let appWithoutPersistence = FirebaseApp.app(name: "DatabaseWithoutPersitence") {
Database.database(app: appWithoutPersistence).isPersistenceEnabled = false
}
当我想持久访问数据库时,我通过Database.database().reference()
来访问共享数据库,如果需要新的数据,我可以通过Database.database(app: FirebaseApp.app(name: "DatabaseWithoutPersitence")!).reference()
来指代非持久数据库。