【发布时间】:2019-08-08 21:11:59
【问题描述】:
有没有办法增加firestore 中的现有值?
我正在尝试什么。 FirebaseFirestore.getInstance()
.collection("notifications")
.document(response.getString("multicast_id"))
.set(notificationData);
FirebaseFirestore.getInstance()
.collection("users")
.document(post.userId)
.get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
@Override
public void onComplete(@NonNull Task<DocumentSnapshot> task) {
if (task.isSuccessful()) {
int followers = Integer.valueOf(task.getResult().getData().get("followers").toString());
FirebaseFirestore.getInstance()
.collection("users")
.document(post.userId).update("followers", followers++).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
}
});
}
}
});
数据库结构
users
- data....
- followers(number)
根据此Answer 函数可用于递增或递减数值字段值
5.9.0 版 - 2019 年 3 月 14 日
新增 FieldValue.increment(),可用于 update() 和 set(..., {merge:true}) 增加或减少数字字段值 安全无交易。
https://firebase.google.com/support/release-notes/js
是否有任何函数可用于增加 firestore android 中的现有值?
【问题讨论】:
-
Android SDK 获得相同的
FieldValue.increment()功能只是时间问题。 -
@DougStevenson 我希望 firebasae 团队在下一个版本中为 android 提供这种类型的功能......
-
@DougStevenson 是的!我使用了这个功能并在这里写了一个答案:stackoverflow.com/a/55548224/6086782 :)
-
@varun 感谢您指出更新信息
-
@varun 已投票
标签: java android firebase google-cloud-firestore