Слово! Я должен держать это вне моего onBindViewHolder. Спасибо, я сделаю это и дам уточнение номеров использования для уточнения!

я есть RecyclerView, который заполняется сообщениями, хранящимися в базе данных Firestore. Каждое сообщение записывается в виде документа с уникальным идентификатором postID, в котором хранится опубликованное сообщение, отметка времени и счетчик похожих.

    //mUploads is defined as private List<Upload> mUploads;
    //Upload object stores post message, timestamp and likes      
    mUploads = new ArrayList<>();

    mFireStoreOrdered = mFireStoreInst.collection("posts").orderBy("time");
    mFireStoreOrdered
            .get()
            .addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
                @Override
                pub,lic void onComplete(@NonNull Task<QuerySnapshot> task) {
                    if (task.isSuccessful()) {
                        for (DocumentSnapshot doc : task.getResult()) {

                            //For each document get the ID
                            String postID = doc.getId();

                            // Upload object stores post message, timestamp and likes
                            Upload upload = doc.toObject(Upload.class).withId(postID);

                            mUploads.add(upload);
                        }

                        Collections.reverse(mUploads);

                        //Populate Recyclerview
                        mAdapter = new UploadAdapter(MainActivity.this, mUploads);

                        mContentView.setAdapter(mAdapter);


                    } else {
                        //...
                    }
                }
            });

Пытаясь реализовать функцию «Мне нравится» для этих постов, я достиг предела Firestore, который может обрабатывать только одно обновление документа в секунду.

чтениеэта статья убедил меня в использовании базы данных Firebase Realtime для хранения лайков с помощью транзакций вместо использованияраспределенные счетчики, Я не хочу отображать лайки в режиме реального времени, я только хочу использовать RTDB для обработки нескольких лайков / дислайков в секунду.

При дополнительном использовании Firebase RTDB для лайков я бы добавил данные в путь / posts / postID / likes.

Как я могу получить сообщения от Firestore и добавить соответствующие лайки из RTDB вmUploads перед передачей его на адаптер. В частности, возможно ли гарантировать, что я установил правильное значение like для соответствующего поста, не запрашивая каждый postID.

Ответы на вопрос(1)

Ваш ответ на вопрос