小编Kar*_*ani的帖子

Unable to serve server rendered app due to Firebase's IDBIndex error

My environment

  • Operating System version:Windows 10
  • Firebase SDK version: 6.0.2

Problem

I followed this tutorial for creating server side rendered app. The error occurs when I try to serve the app using npm run serve:ssr.

The error I get is:

proxyRequestMethods(Index, '_index', IDBIndex, [
                                     ^

ReferenceError: IDBIndex is not defined
    at Module.<anonymous> (C:\Users\eg\dist\server.js:343794:38)
    at __webpack_require__ (C:\Users\eg\dist\server.js:30:30)
    at Module.<anonymous> (C:\Users\eg\dist\server.js:342436:61)
    at __webpack_require__ (C:\Users\eg\dist\server.js:30:30)
    at Module.<anonymous> (C:\Users\eg\dist\server.js:341227:81)
    at __webpack_require__ (C:\Users\eg\dist\server.js:30:30)
    at Module.<anonymous> (C:\Users\eg\dist\server.js:332069:79)
    at __webpack_require__ (C:\Users\eg\dist\server.js:30:30)
    at Object.firebase (C:\Users\eg\dist\server.js:189647:18)
    at __webpack_require__ …
Run Code Online (Sandbox Code Playgroud)

firebase angular-universal angular

12
推荐指数
1
解决办法
597
查看次数

OrderByKey 工作正常,但 OrderByChild 在 firebase 实时数据库中给出了意外的结果

我正在尝试使用 firebase 实时数据库对数据进行排序和过滤。在一种情况下,我想使用 OrderByKey(因为我想要先提出新问题,并且使用推送功能生成密钥)来对数据进行排序,在另一种情况下,我使用 OrderByChild(因为我想使用时间戳进行排序,在这种情况下我不这样做) t 使用 push 但我使用用户的 uid 作为键)。

在这两种情况下,我首先想要最新的东西/人(问题/用户),所以我想按降序排序(在客户端我什至颠倒它)。所以这就是我在第一次查询后查询的方式。第一个查询endAt(endAtKey)在下面显示的查询中没有部分。

对于 OrderByKey:

 ref.child("questions").orderByKey().endAt(endAtKey).limitToLast(10);


   //data at questions node looks like this
    {
  "-L1CbnCkXJiRT9MKpoP1" : {
    "mCorrectAnswer" : 1,
    "mOptionA" : "ueud",
    "mOptionB" : "h",
    "mOptionC" : "h",
    "mOptionD" : "h",
    "mProblem" : "4shsudududududududurududu"
  },
  "-L1Dd9x6ws5di2rf8yay" : {
    "mCorrectAnswer" : 1,
    "mOptionA" : "sh",
    "mOptionB" : "shsh",
    "mOptionC" : "hehs",
    "mOptionD" : "hssh",
    "mProblem" : "12ffsnsjsjdbxbddhdbdbddjebddb"
  }
Run Code Online (Sandbox Code Playgroud)

对于 OrderByChild:

 mDatabaseReference.child("user_list").orderByChild("mTimeStamp")
                        .endAt(endAtKey).limitToLast(10);



     //data at user_list reference looks like this …
Run Code Online (Sandbox Code Playgroud)

sorting android firebase android-recyclerview firebase-realtime-database

5
推荐指数
1
解决办法
1027
查看次数

URL路径的某些部分已删除,并且浏览器历史记录中存在双重导航

我正在使用角度navigate功能Router。这会导致导航一次,但是会在历史记录中创建两个导航,并且URL会自动更新,其中一部分URL会被剥离,如下所述:

this.router.navigate(['buses','big','bus-details'],queryParamas:{busId:'abc'});然后在第一个导航localhost:4200/buses/big/bus-details?busId=abc中,URL将被更新,但即使在第二秒内也不会更新localhost:4200/buses/big/bus-details,当我单击浏览器的后退按钮时,我被带到了URL,localhost:4200/buses/big/bus-details?busId=abc尽管该ngOnInit()函数在第一次更新到第二次更新时仅被调用一次网址。

我一直在这样导航,但是从来没有问题。我什至检查过该NavigationStart事件仅触发一次。

我正在寻找的是不应进行此URL更新,该怎么做以防止在导航时更新URL?

更新:我观察到仅当通过特定功能模块进行路由时才会发生此错误,但是如果我从“根”路由到该模块,AppModule则不会进行此URL更新,也不会创建两个导航,即,我不需要两次单击“后退”按钮去我称之为导航功能的路径/组件。因此,这似乎是功能模块中的错误,通过该功能模块进行导航,而不是我要导航的组件。

angular

5
推荐指数
1
解决办法
75
查看次数

使用 Firebase 模拟器在页面刷新时自动退出

@angular/fire在我的项目中使用 firebase。为了测试与 firebase 服务的集成,我firebase emulators: start在命令行中运行。在为 angular 应用程序提供服务ng serve --open时,每当我进行更改并保存任何文件时,页面都会重新加载,并且我会自动退出 Firebase 帐户。这仅在使用 Firebase 模拟器时发生。我不知道这是否是@angular/firefirebase auth 模拟器的问题。这非常令人沮丧,因为我需要登录 angular 应用程序中的每个文件更改。

我的 App.module.ts 对提供者有以下配置。每当我登录

  providers: [
    {
      provide: USE_AUTH_EMULATOR,
      useValue: environment.useEmulators ? ["localhost", 9099] : undefined,
    },
    {
      provide: USE_DATABASE_EMULATOR,
      useValue: environment.useEmulators ? ["localhost", 9000] : undefined,
    },
    {
      provide: USE_FIRESTORE_EMULATOR,
      useValue: environment.useEmulators ? ["localhost", 8080] : undefined,
    },
    {
      provide: USE_FUNCTIONS_EMULATOR,
      useValue: environment.useEmulators ? ["localhost", 5001] : undefined,
    },
  ],
Run Code Online (Sandbox Code Playgroud)

编辑 1:我通过注入AngularFireAuth …

javascript firebase-tools firebase-authentication angularfire2 angular

5
推荐指数
0
解决办法
350
查看次数

Firestore 安全规则中的更新字段数

我正在从客户端进行批处理操作以仅更新一个字段,但是在进行批处理操作和安全规则测试时发现正在更新多个字段。我使用request.resource.data.size() >1request.resource.data.keys().size()>1返回true(文档正在更新)检查了这个,但这不是因为我想检查安全规则,只有一个字段正在使用检查更新,request.resource.data.keys().hasOnly(['someFieldToUpdate'])但现在不起作用,以前我记得有writeFields检查但是它现在没有出现在文档中,这个答案也提到了它。那么如何检查现在在批处理操作中实际更新的字段?

firebase firebase-security google-cloud-firestore

2
推荐指数
1
解决办法
761
查看次数