使用Polymerfire匿名登录时,firebase-query对象中没有数据

When using Polymerfire and anonymous login, there is no data in firebase-query object

我想使用 Firebase 和 Polymer 创建一个网站。

无需登录(如果在 Firebase console.firebase.google.com 中更改)。

以下是数据库规则:

{
  "rules": {
    ".read": "true",
    ".write": "auth != null"
  }
}

任何有权访问该应用程序的人都应该没问题。

然而,当我尝试查询一个元素时,我得到了零个结果(一个空数组)。

简而言之,代码是这样的:

<firebase-app auth-domain="xyz.firebaseapp.com"
   database-url="https://xyz.firebaseio.com/"
  api-key="AIzaSyB7md4GqkXA-hsEF_CLU3ryHj-xxxxxxxxxx">
</firebase-app>

<firebase-document
  path="/organizers/"
  data="{{noteData}}">
</firebase-document>
  {{noteData}}

<firebase-query
    id="query"

    path="/organizers/"

    data="{{data}}">
</firebase-query>
   {{data}}
    </template>
    <script>
        Polymer({
            is: 'my-app',

            properties :{
                data: {
                    type:Object,
                    observer: 'dataChanged'
                }
            },
            dataChanged: function (newData, oldData){
                console.log('new data: '+ newData);
                console.log('old data: '+ oldData);

            }

        });
    </script

数据库中有数据。

我不明白为什么没有检索到数据。我不需要 firebase-auth 元素,因为我正在对数据进行匿名访问,对吗?

我认为使用您给定的代码,您的数据实际上已被提取。 您可以删除

<firebase-document>

并在您的查询中通过指定应用名称添加对您的 firebase 应用对象的引用。

关于应用程序名称的文档不多,但我认为它起到命名空间的作用。

此外,您记录数据的方式存在问题。尝试从日志中删除 "new data:" 和 "old data:" 部分,以便浏览器开发工具可以推断数据类型并正确显示它(在您的情况下为 object/array)。

至于你的 firebase-document,如果你想保留它,数据属性绑定到 "noteData" 而不是 "data"