2017-10-15 1 views
2

Pourquoi j'obtenir cette erreur ?:FIREBASE AVERTISSEMENT: Utilisation d'un index non spécifié. Pensez à ajouter « .indexOn »: « Clavier » à/à vos règles de sécurité pour une meilleure performance

Firebase AVERTISSEMENT: L'utilisation d'un index non précisé. Pensez à ajouter « .indexOn »: « Clavier » à/à vos règles de sécurité pour une meilleure performance

J'ai beaucoup de télégrammes Claviers dans mon Firebase
1: Je veux corriger cette erreur. ✔️
2: Je veux obtenir et Console.log rock et rocky lorsque l'utilisateur du télégramme tapé rock,

const ref = db.ref('Keyboards/rock'); //keyboard 1 
const ref = db.ref('Keyboards/morning'); //keyboard 2 
const ref = db.ref('Keyboards/rocky'); //keyboard 3 

Structure: enter image description here

Règles:

{ 
    "rules": { 
    ".read": true, 
    ".write": true, 
     "Keyboards" : { 
      ".indexOn": "Keyboards" 
     } 
    } 
} 

Code:

const ref = db.ref('/'); 
    ref.child('/').orderByChild('Keyboards').equalTo('rock').on("value", function(snapshot) { 
    console.log(snapshot.val()); 
    key = snapshot.forEach(function(data) { 
     console.log(data.key); 
    }); 
}); 

Répondre

5

Vous exécutez la même requête plusieurs fois et commande par le même enfant à chaque fois: Keyboards. Firebase vous dit que vous voulez probablement indexer cette recherche, un peu comme dire à la base de données que vous allez le faire souvent alors préparez-vous à faire cette recherche souvent.

Il est expliqué ici: Index your data

Vous pouvez configurer les index sous Base de données -> Règles dans votre projet.

+0

après la mise à jour mon code retour null –

+0

Peut-être que vous avez mal configuré les règles. Difficile à dire sans voir votre structure et vos règles. – rymdmaskin

+0

Avez-vous vérifié mon code? @rymdmaskin –