firebase中我的数据库截图
这里我有一个叫做产品的节点。在那里,我有许多子节点。所有这些节点都有一个共同的值叫做产品库存。我需要更新产品内部所有节点的产品库存值。我如何在android Studio(Java)中做到这一点,因为我正在开发一个购物应用程序?需要帮助。
private void updateStock(String quantity, String availablestock) {
int qty = Integer.parseInt(quantity);
int stk_avl = Integer.parseInt(availablestock);
int stk = stk_avl - qty;
HashMap<String, Object> hashMap = new HashMap<>();
hashMap.put("ProductStock", ""+stk);
//update to database
DatabaseReference reference = FirebaseDatabase.getInstance().getReference("Users");
reference.child(shopUid).child("Products").child(productId)
.updateChildren(hashMap)
.addOnSuccessListener(new OnSuccessListener<Void>() {
@Override
public void onSuccess(Void aVoid) {
//update success
progressDialog.dismiss();
Toast.makeText(CartActivity.this, "Updated...", Toast.LENGTH_SHORT).show();
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
progressDialog.dismiss();
Toast.makeText(CartActivity.this, "" + e.getMessage(), Toast.LENGTH_SHORT).show();
}
});
}
流程是:用户将产品添加到购物车。在购物车里,我有ordernow按钮。因此,当用户现在单击order时,应该从products节点中的product stock value中减去购物车中的产品数量。但是当这段代码运行时,例如,假设购物车中有5种产品,这段代码只更新了1种产品(购物车中最后添加的产品)的产品库存。我怎样才能让它更新所有的产品?
为了能够更新特定节点下存在的多个子节点,您必须创建一个查询并使用updateChildren
方法,如下所示:
DatabaseReference db = FirebaseDatabase.getInstance().getReference();
DatabaseReference usersRef = dbFirebaseDatabase.child("Users");
DatabaseReference productsRef = usersRef.child(shopUid).child("Products");
DatabaseReference additionalUserInfoRef = rootRef.child("AdditionalUserInfo");
ValueEventListener valueEventListener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for(DataSnapshot ds : dataSnapshot.getChildren()) {
Map<String, Object> map = new HashMap<>();
map.put("ProductStock", newValueOfTypeInt);
ds.getRef().updateChildren(map);
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Log.d(TAG, databaseError.getMessage()); //Don't ignore errors!
}
};
productsRef.addListenerForSingleValueEvent(valueEventListener);
如果需要,还可以将侦听器附加到。更新儿童(地图)
,查看是否出现问题。
我刚刚开始学习如何使用XML数据格式,并且已经在更新一些数据上陷入了困境。我真的,真的很感谢有人帮我解决这个问题,因为我完全不知道怎么处理这样的问题。 生成一些示例数据的代码: 现在困难的部分来了... 我需要更新“value”节点的值,其中“key”节点的值=“abc”在同一个“parameter”节点中。 正如您所看到的,我的xml中有几个“参数”节点,这些节点没有我可以用来区分它们和确定应该
但它没有提供所需的产出。它给出的输出像 我是XSL的新手。有谁能帮我解决这个问题吗?
我试图找到这个问题的答案,但在kubernetes文档或任何问答论坛中都找不到。 我有一个运行有4个节点的kubernetes集群。是否可以创建第二个集群,重用前一个集群中的一个或多个节点?或者一个节点被限制在单个kubernetes集群中? 我正在使用RKE(用于部署k8集群的牧场工具)运行实际的集群,我发现这个问题让我怀疑这种可能性。 感谢您的澄清。
我找到了几个关于如何修改XML文件中的某些文本的示例。但我的问题是存在重复的节点,就像下面的例子中节点Id出现了几次。我想用其他东西修改orgNumber值,但我没有找到正确的ID。如有任何意见,将不胜感激。
我在kafka-连接中创建了两个kafka连接器,它们使用相同的连接器类,但它们听的主题不同。 当我在节点上启动进程时,两个连接器最终都会在此进程上创建任务。但是,我希望一个节点只处理一个连接器/主题。如何将主题/连接器限制为单个节点?我在connect-distributed.properties中没有看到任何配置,其中进程可以指定使用哪个连接器。 谢谢。
问题内容: 我有表SQLite数据库和列,,。行数不断变化(可能增加或减少)。如果我知道每一行的值和行数,是否可以执行一次SQL查询以根据ID更新所有具有不同值的和字段? 例如: SQL查询伪代码: 和是存储和字段的新值的数组。 如果,例如,和包含以下值: …然后查询后的数据库应如下所示: 这可能吗?我现在正在为每个查询更新一行,但是随着行数的增加,它将需要数百个查询。顺便说一下,我正在AIR中做