Ember.js 是否可以配置数据库或模型根路径?
TL;DR:当通过EmberFire将Firebase与Ember一起使用时,是否有办法定义根位置,以便在Firebase数据库中保存整个Ember实例或每个模型的更改 示例:给定一个Ember.js 是否可以配置数据库或模型根路径?,ember.js,firebase,firebase-realtime-database,emberfire,Ember.js,Firebase,Firebase Realtime Database,Emberfire,TL;DR:当通过EmberFire将Firebase与Ember一起使用时,是否有办法定义根位置,以便在Firebase数据库中保存整个Ember实例或每个模型的更改 示例:给定一个secret模型,默认情况下,该模型将在/secrets//中存储一个新的secret,我们是否可以将EmberFire配置为使用子路径作为根路径,以便在以下位置创建一个新的秘密:///secrets> 假设我们将firebase数据库配置为在开发过程中支持应用程序的多个版本: { “版本”:{ "0_0_1"
secret
模型,默认情况下,该模型将在/secrets//
中存储一个新的secret
,我们是否可以将EmberFire配置为使用子路径作为根路径,以便在以下位置创建一个新的秘密:///secrets>
假设我们将firebase数据库配置为在开发过程中支持应用程序的多个版本:
{
“版本”:{
"0_0_1" : {
“isActive”:正确
},
"0_0_2" : {
“isActive”:错误
}
}
}
这个secret.js
模型:
从“余烬数据”导入DS;
导出默认DS.Model.extend({
内容:DS.attr('string',{defaultValue(){return“UNDEFINED”;}}),
});
默认情况下,保存新的机密对象时,会在数据库的根目录下创建“机密”部分:
{
“版本”:{
"0_0_1" : { ... },
"0_0_2" : { ... }
},
“秘密”:{
“”:{“内容”:…}
}
}
这可能是因为在0.0.2中不再使用“secret”模型,因此,如果我们可以将EmberFire配置为仅将secret
对象存储为/versions/0\u 0\u 1/
的子对象,那就太好了:
{
“版本”:{
"0_0_1" : {
“isActive”:是的,
“秘密”:{
“”:{“内容”:…}
}
},
"0_0_2" : {
“isActive”:错误
}
},
}
理想情况下,我希望将我的ember应用程序配置为仅将位置/versions/0\u 0\u 1/
视为数据库根
就应用程序而言,数据库仅包括:
{
“isActive”:是的,
“秘密”:{
“”:{“内容”:…}
}
}
我理解,在生产中,如果对象模式发生剧烈变化,那么每个版本的应用程序实际上应该只有一个firebase数据库,但不幸的是,google只提供了这么多免费数据库可供使用,因此在测试时能够让多个应用程序访问同一个数据库会很好,只是使用不同的子路径
当我尝试将config/environment.js
中的firebase.databaseURL
从.firebaseio.com/
更改为.firebaseio.com/versions/0\u 0\u 1/
时,我收到一个错误提示:
FIREBASE致命错误:数据库URL必须指向
Firebase数据库(不包括子路径)
因此,我假设这可能不受支持,至少通过databaseURL
配置选项。是否有其他替代方案
或者,是否有一种基于每个模型配置根路径而不是全局路径的方法?交叉发布:您是如何使用Emberfire解决此问题的?交叉发布:您是如何使用Emberfire解决此问题的?