我使用firestore where()方法测试嵌套字段与另一个值的相等性。嵌套字段位于文档结构中:公寓/公寓/房产/地址/ locality_short
以下是我目前的做法(在下面的代码中),但它没有返回任何文件: //有导入 从' angularfire2 / firestore';
导入{AngularFirestore}//注射 构造函数(私有afs:AngularFirestore){}
//根据是否//apartment.property.address.locality_short == search_object.locality_short
检索公寓的方法搜索(search_obj:搜索):可观察{
返回this.afs.collection(' / Apartments',ref =>
ref.where(property,address,locality_short
,' ==',
' search_obj.Address.locality_short'。))valueChanges()
}
答案 0 :(得分:0)
解决!在尝试了表达嵌套fieldPath的不同方法之后,结果发现使用点“#”;'分离嵌套级别工作正常,我的另一个错误是将where()方法中的值表示为字符串而不是实际值。所以下面的代码工作并返回基于嵌套fieldPath对angularfirestore的where()方法中的值的评估结果
搜索(search_obj:搜索):可观察{
返回this.afs.collection(' / Apartments',ref => ref
。凡(property.address.locality_short
,' ==',search_obj.Address.locality_short))
.valueChanges()
}