当前位置: 首页 > 知识库问答 >
问题:

如何将两个集合添加到firestore中的集合android studio中

干子瑜
2023-03-14

我正在尝试使用android studio中的Firestore制作一个课程添加系统。

当用户添加一个课程时,它将被添加到Fi还原中,并且在该课程集合中会有一个学生和教师集合。

但我不知道怎么做。

如果我为学生和教师集合编写代码,它会添加两个不同的集合,但我希望在一个课程集合中有两个集合,学生和教师。

我该怎么做呢?

我分享我写的代码。

添加课程类

private ActivityDersEkleBinding binding;
private FirebaseFirestore mFirestore;
private String txt_lesson;
private   LinkedHashMap<String,String> linkedHashMap;
private int i=1;
private CollectionReference Courses;

public void init(){
    linkedHashMap = new LinkedHashMap<>();
    mFirestore = FirebaseFirestore.getInstance();
    Courses = mFirestore.collection("Courses");
    Ders_EKLE();
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    binding = ActivityDersEkleBinding.inflate(getLayoutInflater());
    View view = binding.getRoot();
    setContentView(view);
    init();
}

private void Ders_EKLE(){

    //Ders ekleme tam olmadı. Tekrar bakılacak.

    binding.btnEkleDers.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            txt_lesson = binding.isimDers.getText().toString();

     //Show alertdialog if the user has entered an empty lesson 

            if(txt_ders.equals("")){
                AlertDialog.Builder builder = new AlertDialog.Builder(DersEkleActivity.this);
                builder.setTitle("WARNING!");
                builder.setMessage("you cant empty value !");
                builder.setIcon(R.drawable.warningicon);
                builder.setPositiveButton("Tamam", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {

                    }
                });
                builder.show();
            }
            else {

         //If a lesson has been entered, add it to the firestore.

                linkedHashMap.put("lesson"+i,txt_lesson); 


                int j=1;
                Courses.document("KDXnJKKno1D2xtG9G6UE").collection("Lessons")
                        .document()
                        .collection(txt_lesson)
                        .document()
                        .collection("Student")
                        .add(new DersEklePerson())
                        .addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
                            @Override
                            public void onSuccess(@NonNull DocumentReference documentReference) {
                                Toast.makeText(DersEkleActivity.this,"Ders başarıyla eklendi.",Toast.LENGTH_LONG).show();
                            }
                        }).addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception e) {

                    }
                });





            }

        }
    });

}

暂时还没有答案

 类似资料:
  • 问题内容: 没有关于如何在Firestore中的文档中添加子集合,如何使用Web应用程序添加子集合的文档? 甚至像这样尝试过,但没有奏效。如何使用代码在应用程序中添加子集合?有什么办法可以做到,还是使用Firebase实时数据库会更好?如果是这样,请让我知道如何在Firebase中执行此操作,我也想这样添加, 但我却收到这样的错误,错误说明了这一点 问题答案: 如果更改为,您的代码应该可以工作。然

  • 如果有人能在这里帮助我,我会非常喜欢它:)

  • 我使用的是Vue.js和Firebase FiRecovery。现在我有两个集合和。在订单集合中,我已经存储了集合的每个文档的id。我现在必须从中获取相应用户的详细信息。我应该怎么做?这是我迄今为止所做的 我需要在userInfo中存储用户数据。提前谢谢

  • 尝试添加到集合时出现“Collection was modified”异常 问题出在“添加”方法上。如果我注释掉该部分,则不会引发异常。重要的是要注意,我已经尝试将foreach重写为for循环并添加“ToList()”以形成。链接。在所有情况下都会引发相同的异常。我在站点的其他部分使用这种完全相同的模式没有问题,这就是为什么这如此令人沮丧。这也适用于“创建”。问题只影响“编辑”操作。 其他相关代

  • 我们在Google Firestore中有一个收藏。 我们是否可以在一条语句中添加一个包含数据的文档和此新文档下的子集合?

  • 我所处的情况是,当用户付款时,存储在Firestore集合(CartProducts)中的购物车产品应移动到名为SuccessFullOrders的新集合。 因此,我的基本问题是如何在Flutter中将所有文档从一个集合移动到Firestore的另一个集合 我不知道如何在flutter中编写代码。谢谢你的回答 这是我的代码