gpt4 book ai didi

java - 如何使新添加的项目位于 firebase 中现有的 id 下?

转载 作者:行者123 更新时间:2023-12-02 09:15:40 24 4
gpt4 key购买 nike

我遇到的问题是新添加的项目创建了一个新的 ID,而不是位于现有的 ID 下

database

上图中黄色高亮的id就是已经存在的id。红色的就是新添加的项目。我遇到的问题是添加的项目创建了一个新的 id,而不是坐在突出显示的 id 中的现有 id 上。

我想要达到的结果是。我希望新添加的项目位于突出显示的 ID 下,而不是创建新的 ID。


databaseReference = FirebaseDatabase.getInstance().getReference("Cart");
private void addCart() {

final String id = databaseReference.push().getKey();
Intent intent = getIntent();
final String cust_id = firebaseAuth.getCurrentUser().getUid();
final String pid = intent.getStringExtra("pid");
String keyB = intent.getStringExtra("keyB");
String name = pname.getText().toString().trim();
String category = pcategory.getText().toString().trim();
String price = pprice.getText().toString().trim();
String size = psize.getSelectedItem().toString().trim();
String quantity = pquantity.getText().toString().trim();

String image = intent.getStringExtra("pro_image");

final Cart cart = new Cart(id, pid, cust_id, keyB, name, price, image, category, quantity, size);
databaseReference.child("Cust List").child(cust_id).child(id).child(pid).setValue(cart) //table and primary key
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
databaseReference.child("PS List").child(cust_id).child(id).child(pid).setValue(cart).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {

if (task.isSuccessful()) {
Toast.makeText(getApplicationContext(), "add Successfully", Toast.LENGTH_SHORT).show();
AddToCart.super.onBackPressed();
}
}
});

}
}
}
);
}

最佳答案

每次在数据库中添加数据cust_id后,都会生成一个新的 ID。这意味着来自cust_id的databaseReference始终是相同的,在cust_id发生变化之后。因此,您需要从这里保持databaseReference不变,

 databaseReference.child("Cust List").child(cust_id).child(id)

当您使用.push关键字时,它总是会生成一个新的ID。但是您需要保持它始终与 cust_id 相同。因此,如果您使用 ----.child(id) 中的相同引用,当您在数据库中添加数据时,我认为问题会解决。

关于java - 如何使新添加的项目位于 firebase 中现有的 id 下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59007213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com