如何获取firebase firestore android中某些字段的值?

如何获取firebase firestore android中某些字段的值?,android,firebase,google-cloud-firestore,Android,Firebase,Google Cloud Firestore,和上面的问题一样,我想获取firebase firestore中某个字段的值,而不是使用DocumentSnapshot 在SQL中,从表名称中选择列1、列2、列3 我怎么做 感谢您的帮助。云Firestore客户端SDK始终读取并返回完整文档。无法读取文档中字段的子集 您可以检索整个文档,然后处理DocumentSnapshot,只使用您感兴趣的字段。但这意味着您使用的带宽超过了需要的带宽。如果这是你的应用程序经常发生的事情,考虑创建一个二级集合,其中每个文档只包含你感兴趣的字段。 < P>云

和上面的问题一样,我想获取firebase firestore中某个字段的值,而不是使用DocumentSnapshot

在SQL
中,从表名称中选择列1、列2、列3

我怎么做


感谢您的帮助。

云Firestore客户端SDK始终读取并返回完整文档。无法读取文档中字段的子集


您可以检索整个文档,然后处理
DocumentSnapshot
,只使用您感兴趣的字段。但这意味着您使用的带宽超过了需要的带宽。如果这是你的应用程序经常发生的事情,考虑创建一个二级集合,其中每个文档只包含你感兴趣的字段。

< P>云FixSt店客户端SDK总是读取并返回完整的文档。无法读取文档中字段的子集


您可以检索整个文档,然后处理
DocumentSnapshot
,只使用您感兴趣的字段。但这意味着您使用的带宽超过了需要的带宽。如果这是你的应用程序经常发生的事情,考虑创建一个二级集合,其中每个文档只包含你感兴趣的字段。

FixStury可以读取单个字段值。 Firebase指南似乎没有显示这些简单的方法

例如:

[android]

String value = document.getString("col_1");


[node.js]

const value = doc.data().col_1

Firestore可以读取单个字段值。 Firebase指南似乎没有显示这些简单的方法

例如:

[android]

String value = document.getString("col_1");


[node.js]

const value = doc.data().col_1
请尝试以下代码:

//set a global variable
dataList: Array<any>;


const dataCollection = firebase.firestore().collection('data');
dataCollection.get(query => {
query.forEach(docs => {
this.dataList.push({id: doc.id, data:doc.data()});
  })
})
//设置一个全局变量
数据表:数组;
const dataCollection=firebase.firestore().collection('data');
dataCollection.get(查询=>{
query.forEach(文档=>{
this.dataList.push({id:doc.id,data:doc.data()});
})
})
尝试以下代码:

//set a global variable
dataList: Array<any>;


const dataCollection = firebase.firestore().collection('data');
dataCollection.get(query => {
query.forEach(docs => {
this.dataList.push({id: doc.id, data:doc.data()});
  })
})
//设置一个全局变量
数据表:数组;
const dataCollection=firebase.firestore().collection('data');
dataCollection.get(查询=>{
query.forEach(文档=>{
this.dataList.push({id:doc.id,data:doc.data()});
})
})

与我们分享您的数据库结构..与我们分享您的数据库结构..谢谢@Mike Yan,一切正常。真奇怪,Firebase指南没有包括它。如果有必要的话,您仍然在阅读Firestore的整个文档。通过客户端上的读取,您正在消耗整个文档的带宽。是的,但至少客户端不需要在整个文档中循环以获得1个单字段数据。Animal-Animal=document.toObject(Animal);然后是animal.getName()或在js const animal=document.data()中;然后动物名,使用模型!谢谢@Mike Yan,这很有效。真奇怪,Firebase指南没有包括它。如果有必要的话,您仍然在阅读Firestore的整个文档。通过客户端上的读取,您正在消耗整个文档的带宽。是的,但至少客户端不需要在整个文档中循环以获得1个单字段数据。Animal-Animal=document.toObject(Animal);然后是animal.getName()或在js const animal=document.data()中;然后动物名,使用模型!是的,但是这样我不知道
DocumentSnapshot
被修改了什么@Frank关于您提到的带宽问题,如果我查询具有多个子集合(/嵌套子集合)的文档,firestore会将该文档与子集合的文档一起返回吗?firestore查询很肤浅。他们不会从子集合返回文档。是的,但是这样我不知道
DocumentSnapshot
被修改了什么@Frank关于您提到的带宽问题,如果我查询具有多个子集合(/嵌套子集合)的文档,firestore会将该文档与子集合的文档一起返回吗?firestore查询很肤浅。他们不会从子集合返回文档。