在 Firebase 中,我真的必须下载整个节点才能存储某些内容吗?

In Firebase, do I really have to download an entire node in order store something?

我将 Firebase 与 Angular2 包 AngularFire2 一起使用,并且正在尝试学习如何创建新项目。

根据文档:

Use the push() method to add new items on the list.

const items = af.database.list('/items');
items.push({ name: newName });

在我的例子中,“items”将是一个巨大的数组。我真的需要先获取它然后再推送吗?难道我不先下载就直接push吗?

要向某个位置添加新的 child,您需要创建对该位置的引用。创建对位置的引用 不会 下载该位置的所有项目。

使用 Firebase 数据库的 JavaScript SDK,需要:

const items = firebase.database().ref('/items');
items.push({ name: newName });

另一方面:创建 AngularFire2 observable 下载该位置的项目。因此,如果您想在不下载现有数据的情况下添加项目,请使用适用于 Firebase 数据库的 JavaScript SDK。