2014-09-07 35 views
11

quello che fondamentalmente voglio fare è questo:Firebase, variabile come nome della chiave

variable = 'whatever'; 
fb.set({ variable : "More Stuff" }); 

Quindi questo si tradurrà in una voce che assomiglia:

whatever: "More Stuff" 

Attualmente finisce proprio come

variable: "More Stuff" 

Questo può essere fatto?

+2

Nel caso in cui si desideri che il nome della voce sia variabile, è sufficiente fare * var newRef = new Firebase ("https://your-fb-id.firebaseio.com/" + variabile); * –

risposta

17

Per l'ultima versione di Firebase, utilizzare staffe di tutto il nome della variabile:

firebase.database().ref("pathName").set({[variable] : 'MoreStuff'}); 

utilizzando l'altro metodo di impostazione l'indice della variabile al valore creeranno un strato aggiuntivo nella struttura del database.

+1

posso usare lo stesso metodo per push? – Santosh

16

Sì. Il codice non funziona come previsto perché stai usando la notazione letterale dell'oggetto, che è la ragione per cui mantiene il nome della variabile come chiave, perché è così che funziona la notazione.

Soluzione

foo = {}; 
foo[variable] = 'more stuff'; 
fb.set(foo); 
+0

È x pippo in questo caso? –

+0

@MattCoady si lo era, l'ho cambiato in foo;) –

+1

In questo modo si imposta una chiave '' 'foo''' con un valore di' '' [variabile]: 'more stuff''''. – WikipediaBrown

Problemi correlati