我有一个用例来制作文档的链接列表,例如 {name,next_ptr}和next_ptr是对另一个文档的引用
我有以下代码,但正在获取next_ptr,但没有得到属于next_ptr的字段
我正在关注输出
KkkGTTKjuwcGmzJzQ3Wa => FIRE => undefined iW9lm7sYkgvuZPdVvrZE => GAS => undefined NtTyJNjqIT79PZ6zkqtY => WATER => undefined
预期产量
KkkGTTKjuwcGmzJzQ3Wa => FIRE => GAS iW9lm7sYkgvuZPdVvrZE => GAS => WATER NtTyJNjqIT79PZ6zkqtY => WATER => undefined
代码
db = defaultApp.firestore() ; abc_collection = db.collection("abc") ; abc_collection.get() .then( data => { data.forEach(item => { console.log(item.id , "=>", item.get('name')) ; next_ref = item.get('next_ptr') ; next_ref.get("name").then(item => { console.log(item) ; }).catch("") ; } ) ; }).catch("") ;
答案 0 :(得分:0)
您似乎假设查询结果包含所有引用的文档:
item.get('next_ptr')['name']
item.get('next_ptr')
返回的是一个DocumentReference对象,而不是文档的全部内容。您必须使用其get()方法来查询该文档以加载其内容,或者在查询的结果中使用其ID查找该文档(如果您保证引用始终指向同一文档)集合。
如果您不想处理DocumentReference,则最好存储文档的字符串ID。