如何在Firestore DB中使用破折号访问地图类型变量

时间:2019-04-03 14:41:02

标签: node.js database google-cloud-firestore

我有一个Firestore集合,如下所示:

user (collection)
    userUID (Document)
        token = "123"
        planet (Map)
            pl34-7ft (Map)
                planetName = "axiom"
                planetID = "pl34-7ft"
                island = "amrs"                 

我正在尝试运行查询以查找其帐户中具有“公理”行星的所有用户。

当我运行以下代码时:

var ref = await firestoreDb.collection('user').where("planet.pl34-7ft.planetName", "==", "axiom").get().then(snapshot => { ... }

我遇到以下错误:

字段“ planet.pl34-7ft.planetName”不是有效的Firestore字段路径。

当我将“ p134-7ft”更改为不带破折号的名称,即“ malibu”时,我没有得到错误提示。

我猜Firestore需要一种特殊的方式来处理“破折号”字符?

有人知道如何使用破折号访问字段路径吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

请尝试使用方括号[]: 其中([planet.pl34-7ft.planetName],“ ==”,“公理”)

您也可以看到此信息: Firebase, variable as key name

好运!