クエリが機能しないFireStoreはなぜですか?

TSR

FireStorewhereが機能していないか、何か問題があります。私は電子メールでユーザーにしようとしています:[email protected]

コードは次のとおりです。

const admin = require('firebase-admin');
var serviceAccount = require('../secret/nicecode-e3e53-2ddaa9d588ea.json');
admin.initializeApp({
    credential: admin.credential.cert(serviceAccount)
});
var db = admin.firestore();
const settings = {/* your settings... */ timestampsInSnapshots: true};
db.settings(settings);



function begin(email){
    return new Promise(function (res,rej){
        var ans

        var citiesRef = db.collection('users');
        var allCities = citiesRef.get()
            .then(snapshot => {
                snapshot.forEach(doc => {
                    console.log(doc.id, '=>', doc.data());
                });
            })
            .catch(err => {
                console.log('Error getting documents', err);
            });

        var citiesRef = db.collection('users');
        console.log(email)
        var query = citiesRef.where('email', '==', email).get()
            .then(doc => {
                if (!doc.exists) {
                    ans = {
                        "login_token": "7705cb58bbff3afa888a624747f8d1caaff08f6ed0dc465c7d2361fd62532bd7",
                        "next": "FAILURE",
                        "failure_step": {
                            "heading": "Error",
                            "description": "There is no account registered for "+email,
                            "actions": [{"label": "Sign up", "url": "/en/signup"}, {
                                "label": "Sign in",
                                "url": "/en/login"
                            }]
                        }
                    }

                } else {
                    console.log('Document data:', doc.data());
                    ans = {
                        "login_token": "cd01b73935b9262ac8a2bac3f81b6ed6ec78c15d3da5fc04f03879ebdd6931a9",
                        "next": "PASSWORD",
                        "password_step": {"heading": "Password", "description": "Enter your password", "error": ""}
                    }
                }
                res(ans)
            })
            .catch(err => {
                console.log('Error getting document', err);
            });
    })
}

begin('[email protected]').then(function (data) {
console.log(data)
})

これを出力します。(すべてのユーザーを取得しただけで、「[email protected]」という電子メールを持つユーザーが見つかることに注意してください)

[email protected]
{ login_token: '7705cb58bbff3afa888a624747f8d1caaff08f6ed0dc465c7d2361fd62532bd7',
  next: 'FAILURE',
  failure_step: 
   { heading: 'Error',
     description: 'There is no account registered for [email protected]',
     actions: [ [Object], [Object] ] } }
OqClQYBH8PWiNE2VF193 => { email: '[email protected]',
  password_hash: 'E014231EF9830992D2E367231EEDE99C189B6518CE70E2AB8F414C784257751F' }

これが私のデータベースです: ここに画像の説明を入力してください

フランク・ヴァン・パッフェレン

Firestoreに対してクエリを実行すると、条件に一致するドキュメントが複数存在する場合があります。そのため、得られる結果はではなくDocumentQuerySnapshotです。また、(とは異なりDocument)にQuerySnapshotexists()メソッドがありませんが、empty使用できるプロパティがあります。

そう:

var query = citiesRef.where('email', '==', email).get()
    .then(querySnapshot => {
        if (querySnapshot.empty) {
            ans = {
                "login_token": "7705cb58bbff3afa888a624747f8d1caaff08f6ed0dc465c7d2361fd62532bd7",
                "next": "FAILURE",
                "failure_step": {
                    "heading": "Error",
                    "description": "There is no account registered for "+email,
                    "actions": [{"label": "Sign up", "url": "/en/signup"}, {
                        "label": "Sign in",
                        "url": "/en/login"
                    }]
                }
            }

        } else {
            var doc = querySnapshot.docs[0];
            console.log('Document data:', doc.data());
            ans = {
                "login_token": "cd01b73935b9262ac8a2bac3f81b6ed6ec78c15d3da5fc04f03879ebdd6931a9",
                "next": "PASSWORD",
                "password_step": {"heading": "Password", "description": "Enter your password", "error": ""}
            }
        }
        res(ans)
    })
    .catch(err => {
        console.log('Error getting document', err);
    });

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

PrestoクエリでORDERBYが機能しないのはなぜですか?

分類Dev

room.slugでクエリが機能しないのはなぜですか

分類Dev

Solrクエリが空白で機能しないのはなぜですか?

分類Dev

このクエリがPHPMyAdminで機能しないのはなぜですか

分類Dev

Cypherクエリが機能しないのはなぜですか?

分類Dev

DjangoParamaterizedクエリが機能しないのはなぜですか

分類Dev

このGROUPBY Mysqlクエリが機能しないのはなぜですか?

分類Dev

このmysqlクエリが機能しないのはなぜですか?

分類Dev

JSON配列クエリが機能しないのはなぜですか?

分類Dev

このDELETEクエリが機能しないのはなぜですか?

分類Dev

xmlクエリが機能しないのはなぜですか

分類Dev

djangoクエリセットが機能しないのはなぜですか?

分類Dev

XPathクエリが機能しないのはなぜですか?

分類Dev

このMySQLUpdateクエリが機能しないのはなぜですか?

分類Dev

メディアクエリが機能しないのはなぜですか?

分類Dev

INSERT INTO sqlクエリが機能しないのはなぜですか?

分類Dev

`NOT IN` cteが機能しないのに、` NOT IN`サブクエリが機能するのはなぜですか?

分類Dev

クリック機能が機能しないのはなぜですか?

分類Dev

jQueryクリック機能が機能しないのはなぜですか?

分類Dev

どのような参加が必要ですか?クエリが機能しないのはなぜですか?

分類Dev

なぜ一方のクエリが機能し、もう一方は機能しないのですか?

分類Dev

クリック可能な画像が機能しないのはなぜですか?

分類Dev

なぜgraphqlクエリがreactで機能しないのですか?

分類Dev

(AJAX / PHP)この簡単な例でPOSTリクエストが機能しないのはなぜですか?

分類Dev

エイリアスがsshで機能しないのはなぜですか?

分類Dev

エイリアスがZshで機能しないのはなぜですか?

分類Dev

エンティティの比較がサブクエリで機能しないのはなぜですか

分類Dev

スクリプトでbashエイリアスが機能しないのはなぜですか?

分類Dev

この単純なhqlクエリが機能しないのはなぜですか?未分類のSQLException

Related 関連記事

  1. 1

    PrestoクエリでORDERBYが機能しないのはなぜですか?

  2. 2

    room.slugでクエリが機能しないのはなぜですか

  3. 3

    Solrクエリが空白で機能しないのはなぜですか?

  4. 4

    このクエリがPHPMyAdminで機能しないのはなぜですか

  5. 5

    Cypherクエリが機能しないのはなぜですか?

  6. 6

    DjangoParamaterizedクエリが機能しないのはなぜですか

  7. 7

    このGROUPBY Mysqlクエリが機能しないのはなぜですか?

  8. 8

    このmysqlクエリが機能しないのはなぜですか?

  9. 9

    JSON配列クエリが機能しないのはなぜですか?

  10. 10

    このDELETEクエリが機能しないのはなぜですか?

  11. 11

    xmlクエリが機能しないのはなぜですか

  12. 12

    djangoクエリセットが機能しないのはなぜですか?

  13. 13

    XPathクエリが機能しないのはなぜですか?

  14. 14

    このMySQLUpdateクエリが機能しないのはなぜですか?

  15. 15

    メディアクエリが機能しないのはなぜですか?

  16. 16

    INSERT INTO sqlクエリが機能しないのはなぜですか?

  17. 17

    `NOT IN` cteが機能しないのに、` NOT IN`サブクエリが機能するのはなぜですか?

  18. 18

    クリック機能が機能しないのはなぜですか?

  19. 19

    jQueryクリック機能が機能しないのはなぜですか?

  20. 20

    どのような参加が必要ですか?クエリが機能しないのはなぜですか?

  21. 21

    なぜ一方のクエリが機能し、もう一方は機能しないのですか?

  22. 22

    クリック可能な画像が機能しないのはなぜですか?

  23. 23

    なぜgraphqlクエリがreactで機能しないのですか?

  24. 24

    (AJAX / PHP)この簡単な例でPOSTリクエストが機能しないのはなぜですか?

  25. 25

    エイリアスがsshで機能しないのはなぜですか?

  26. 26

    エイリアスがZshで機能しないのはなぜですか?

  27. 27

    エンティティの比較がサブクエリで機能しないのはなぜですか

  28. 28

    スクリプトでbashエイリアスが機能しないのはなぜですか?

  29. 29

    この単純なhqlクエリが機能しないのはなぜですか?未分類のSQLException

ホットタグ

アーカイブ