flutter로 문서의 firestore 배열에서 데이터를 가져 오는 방법은 무엇입니까?

모하메드 모스 타파

이것은 클라우드 파이어 스토어의 사용자 컬렉션입니다.

사용자 컬렉션

이것은 firestore의 사용자 컬렉션에서 사용자를 가져 오는 함수입니다.

 Stream<QuerySnapshot> fetchUsersInSearch() {
    return Firestore.instance.collection('users').snapshots();
  }

나는이 방법을 사용한다

  final emailResults = snapshot.data.documents
              .where((u) => u['email'].contains(query));

다음 streamBuilder에서 이메일로 사용자를 가져옵니다.

화면에 데이터를 채우는이 streamBuilder가 있습니다.

return StreamBuilder<QuerySnapshot>(
        stream: DatabaseService().fetchUsersInSearch(),
        builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {

          final emailResults = snapshot.data.documents
              .where((u) => u['email'].contains(query));

          if (!snapshot.hasData) {
            return Container(
              color: Theme.of(context).primaryColor,
              child: Center(
                child: Text(
                  '',
                  style: TextStyle(
                      fontSize: 16, color: Theme.of(context).primaryColor),
                ),
              ),
            );
          }
          if (emailResults.length > 0) {
            return Container(
              color: Theme.of(context).primaryColor,
              child: ListView(
                children: emailResults
                    .map<Widget>((u) => GestureDetector(
                          child: Padding(
                            padding: const EdgeInsets.all(0.1),
                            child: Container(
                              padding: EdgeInsets.symmetric(vertical: 5),
                              decoration: BoxDecoration(
                                  color: Theme.of(context).primaryColor,
                                  border: Border(
                                      bottom: BorderSide(
                                          width: 0.3, color: Colors.grey[50]))),
                              child: ListTile(
                                leading: CircleAvatar(
                                        backgroundColor:
                                            Theme.of(context).primaryColor,
                                        backgroundImage:
                                            NetworkImage(u['userAvatarUrl']),
                                        radius: 20,
                                      ),
                                title: Container(
                                  padding: EdgeInsets.only(left: 10),
                                  child: Column(
                                    crossAxisAlignment:
                                        CrossAxisAlignment.start,
                                    children: [
                                      Text(u['email'],
                                          style: TextStyle(
                                              fontSize: 16,
                                              color: Theme.of(context)
                                                  .accentColor),
                                          overflow: TextOverflow.ellipsis),
                                      SizedBox(
                                        height: 5,
                                      ),
                                
                                    ],
                                  ),
                                ),
                                
                              ),
                            ),
                          ),
                          onTap: () {
                            showUserProfile(u['id']);
                          },
                        ))
                    .toList(),
              ),
            );
          } else {
            return Container(
              color: Theme.of(context).primaryColor,
              child: Center(
                child: Text(
                  'No results found',
                  style: TextStyle(
                    fontSize: 16,
                    color: Theme.of(context).accentColor,
                  ),
                ),
              ),
            );
          }
        });

이것은 완벽하게 작동하고 이메일로 listView 내에서 사용자를 가져옵니다 ...

추신 : (쿼리)는 검색 막대에 입력 한 문자열입니다.

otherUsernames ... users 컬렉션 스크린 샷의 두 번째 필드로 사용자를 가져 오는 쿼리를 어떻게 만들 수 있습니까?!

나는 이것을 시도했다 :

  final otherUsernamesResults = snapshot.data.documents
              .where((u) => u['otherUsernames'].contains(query));

그러나이 오류를 반환합니다.

The method 'contains' was called on null.
Receiver: null
Tried calling: contains("#username1")

내가 여기서 뭘 잘못하고 있니? !!

어떤 도움을 주시면 감사하겠습니다 ..

비슈누

이 시도:-

Stream<QuerySnapshot> getUsers() {
  final usersCollection = FirebaseFirestore.instance.collection('users');
  return usersCollection.where('otherUsernames', arrayContainsAny: ['username1', 'username2']);
}

Firestore 버전 0.16.0의 경우

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

flutter로 문서의 firestore 배열에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Firestore에서 Google 클라우드 기능으로 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

user.uid가 flutter의 문서 ID와 동일한 클라우드 Firestore에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Cloud_Firestore에서 내 변수로 단일 문서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

NSURLSession에서 데이터를 문자열로 가져 오는 방법은 무엇입니까?

분류에서Dev

Firestore Flutter에서 어제 날짜의 모든 레코드를 가져 오는 방법은 무엇입니까?

분류에서Dev

주어진 배열에 존재하지 않는 ID로 모든 문서를 가져 오는 방법은 무엇입니까? (Cloud Firestore)

분류에서Dev

열별로 pdo에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Firestore에서 ID로 가져 오는 방법은 무엇입니까?

분류에서Dev

서버에서 Android 발리의 textview로 단일 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Cloud Firestore에서 여러 컬렉션의 특정 ID를 가진 문서를 효율적으로 가져 오는 방법은 무엇입니까?

분류에서Dev

다음 JSON 객체에서 데이터를 두 개의 개별 배열로 가져 오는 가장 효율적인 방법은 무엇입니까?

분류에서Dev

Cypress에서 행의 모든 데이터를 개체로 가져 오는 방법은 무엇입니까?

분류에서Dev

신속하게 배열에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Vue에서 readfile로 JSON 파일에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Laravel 컨트롤러에서 pg_fetch_assoc와 같은 연관 배열로 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Firestore에서 데이터를 한 번 가져 와서 다른 화면으로 이동 한 후에도 재사용하는 방법은 무엇입니까?

분류에서Dev

(Ruby on Rails) XML에서 관계 테이블로 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

웹 사이트에서 Excel로 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

mysql에서 PHP 웹 페이지로 특정 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Codeigniter에서 foreach없이 데이터를 뷰로 가져 오는 방법은 무엇입니까?

분류에서Dev

Js fetch ()에서 서버로 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

서버에서 새 데이터를 자동으로 가져 오는 방법은 무엇입니까?

분류에서Dev

이 json에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

PHP : desc 순서로 데이터를 가져오고 배열로 데이터를 표시하는 방법은 무엇입니까?

분류에서Dev

브라우저가 서버로 보내는 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

주어진 문자열에서 sqlite에서 데이터를 가져 오는 방법은 무엇입니까?

분류에서Dev

Flutter를 사용하여 Firestore의 문서 내부에지도를 추가하는 방법은 무엇입니까?

분류에서Dev

웹에서 데이터를 사진으로 가져 오는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    flutter로 문서의 firestore 배열에서 데이터를 가져 오는 방법은 무엇입니까?

  2. 2

    Firestore에서 Google 클라우드 기능으로 데이터를 가져 오는 방법은 무엇입니까?

  3. 3

    user.uid가 flutter의 문서 ID와 동일한 클라우드 Firestore에서 데이터를 가져 오는 방법은 무엇입니까?

  4. 4

    Cloud_Firestore에서 내 변수로 단일 문서 데이터를 가져 오는 방법은 무엇입니까?

  5. 5

    NSURLSession에서 데이터를 문자열로 가져 오는 방법은 무엇입니까?

  6. 6

    Firestore Flutter에서 어제 날짜의 모든 레코드를 가져 오는 방법은 무엇입니까?

  7. 7

    주어진 배열에 존재하지 않는 ID로 모든 문서를 가져 오는 방법은 무엇입니까? (Cloud Firestore)

  8. 8

    열별로 pdo에서 데이터를 가져 오는 방법은 무엇입니까?

  9. 9

    Firestore에서 ID로 가져 오는 방법은 무엇입니까?

  10. 10

    서버에서 Android 발리의 textview로 단일 데이터를 가져 오는 방법은 무엇입니까?

  11. 11

    Cloud Firestore에서 여러 컬렉션의 특정 ID를 가진 문서를 효율적으로 가져 오는 방법은 무엇입니까?

  12. 12

    다음 JSON 객체에서 데이터를 두 개의 개별 배열로 가져 오는 가장 효율적인 방법은 무엇입니까?

  13. 13

    Cypress에서 행의 모든 데이터를 개체로 가져 오는 방법은 무엇입니까?

  14. 14

    신속하게 배열에서 데이터를 가져 오는 방법은 무엇입니까?

  15. 15

    Vue에서 readfile로 JSON 파일에서 데이터를 가져 오는 방법은 무엇입니까?

  16. 16

    Laravel 컨트롤러에서 pg_fetch_assoc와 같은 연관 배열로 데이터를 가져 오는 방법은 무엇입니까?

  17. 17

    Firestore에서 데이터를 한 번 가져 와서 다른 화면으로 이동 한 후에도 재사용하는 방법은 무엇입니까?

  18. 18

    (Ruby on Rails) XML에서 관계 테이블로 데이터를 가져 오는 방법은 무엇입니까?

  19. 19

    웹 사이트에서 Excel로 데이터를 가져 오는 방법은 무엇입니까?

  20. 20

    mysql에서 PHP 웹 페이지로 특정 데이터를 가져 오는 방법은 무엇입니까?

  21. 21

    Codeigniter에서 foreach없이 데이터를 뷰로 가져 오는 방법은 무엇입니까?

  22. 22

    Js fetch ()에서 서버로 데이터를 가져 오는 방법은 무엇입니까?

  23. 23

    서버에서 새 데이터를 자동으로 가져 오는 방법은 무엇입니까?

  24. 24

    이 json에서 데이터를 가져 오는 방법은 무엇입니까?

  25. 25

    PHP : desc 순서로 데이터를 가져오고 배열로 데이터를 표시하는 방법은 무엇입니까?

  26. 26

    브라우저가 서버로 보내는 데이터를 가져 오는 방법은 무엇입니까?

  27. 27

    주어진 문자열에서 sqlite에서 데이터를 가져 오는 방법은 무엇입니까?

  28. 28

    Flutter를 사용하여 Firestore의 문서 내부에지도를 추가하는 방법은 무엇입니까?

  29. 29

    웹에서 데이터를 사진으로 가져 오는 방법은 무엇입니까?

뜨겁다태그

보관