Firestore计费以获取集合的大小

时间:2019-03-04 21:25:24

标签: typescript firebase google-cloud-firestore

Cloud Firestore计费如何用于获取集合的大小,获取文档ID和查询快照?

如果我要像下面的示例一样进行查询,是否会收取任何费用?

class App extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
          currentTab: -1,
          data: [
            { id: "1", name: "London" ,info: "London is the capital city of England."},
            { id: "2", name: "Paris" ,info: "Paris is the capital of France." },
            { id: "3", name: "Tokyo"  ,info: "Tokyo is the capital of Japan."}
          ]
  };
  this.handleClick = this.handleClick.bind(this);
  }
  
  handleClick(currentTab) {
    this.setState({ currentTab });
  }
    
  render() {
    return (

<div>
  <h2>Vertical Tabs</h2>
  <p>Click on the buttons inside the tabbed menu:</p>
  <div className="tab">
  {this.state.data.map((button, i) => (
    <button key={button.name} className="tablinks" onClick={() => this.handleClick(i)}>{button.name}</button>
    )
    )
  }
  </div>

  <div className="tabcontent">
    {this.state.currentTab !== -1 &&
      <React.Fragment>
        <h3>{this.state.data[this.state.currentTab].name}</h3>
        <p>{this.state.data[this.state.currentTab].info}</p>
      </React.Fragment>
    }
  </div>
</div>
  )
  }
}

ReactDOM.render( < App / > ,
  document.getElementById('root')
);

1 个答案:

答案 0 :(得分:1)

根据您的最后评论:

  

但是我的问题是,当我尝试引用一个集合以获取该集合的大小时,它如何影响Firestore的帐单?

如果您仅创建对集合的引用,则无需付费,但是如果创建的查询返回5个元素,则将承担5个读取操作。

根据有关Cloud Firestore billing的官方文档:

  

即使查询没有返回结果,对于您执行的每个查询,最低读取一个文档的费用。

因此,即使查询不返回任何结果,您也需要阅读一份文档。