使用Firebase Cloud Firestore将数据添加到文档

时间:2018-08-27 16:38:01

标签: android firebase google-cloud-firestore

我是Firestore的新手,即使我对文档有所了解,也遇到了一些麻烦。

我具有以下结构:

buses (collection) -> cb-123-1 (document) -> many custom objects

现在我正尝试在文档之后添加数据:

PassengerModel passengerModel = new PassengerModel(
        Integer.parseInt(seatNo.getText().toString()),
        "selected");

mFirestore.collection("buses").document(mBusUid)
        .set(passengerModel, SetOptions.merge());

现在可以在单击时添加该项目,但是它将替换我文档中存在的内容,而不是添加到其中。

1 个答案:

答案 0 :(得分:0)

我假设您的PassengerModel类具有该乘客的所有属性。在这种情况下,行为是可以预期的:Firestore遍历该类的所有属性。如果某个属性不存在任何值,则将该属性删除。

您更有可能希望打补丁,这需要一个仅具有您要修改的属性的数据模型。一种更简单,更常见的方法是使用Map进行修补,或更简单的方法是:

mFirestore.collection("buses").update(seatNo, Integer.parseInt(seatNo.getText().toString()))