具有特殊字符的Firestore查询属性

Inf*_*tus 2 firebase google-cloud-firestore

我有一个具有以下结构的联系人的集合:

name: 'XPTO' emails: { susan@xpto.com: 'Susan', fred@xpto.com: 'Fred' }

但是查询不会返回结果: db.firestore().collection('contacts').where('emails.susan@xpto.com', '==', 'Susan').get().then(...

由于“ susan@xpto.com”上的点

如何逃脱圆点?

我已经尝试过``[ ]但没有成功。

Dou*_*son 7

建议您使用反引号转义字段的文档实际上是不正确的。它正在修复中。相反,您应该使用FieldPath来构建要查询的字段的路径:

db.firestore()
.collection('contacts')
.where(new FieldPath('emails', 'susan@xpto.com'), '==', 'Susan').
Run Code Online (Sandbox Code Playgroud)

  • 谢谢道格。我正在Web开发中,因此如果有帮助,请访问以下Web版本:db.firestore()。collection('contacts')。where(new db.firestore.FieldPath('emails','susan@xpto.com'), '==','Susan')。 (2认同)