2017-10-18 12 views
0

Pourquoi ne puis-je pas utiliser une variable pour accéder à quelque chose dans mon document? si je code dur le champ cela fonctionne mais en utilisant une variable ce n'est pas le cas.Impossible d'utiliser une variable pour accéder au membre du groupe dans le champ

building = "AS" 
room = "243" 
item = "whiteBoard.votes[0]" 

RI.findOne({$and: [{"building": building }, {"room": room}]}, (err, x) => { 
    console.log(x.whiteBoard.votes[0]) //works 
    console.log(x[item]) //undefined 
+0

voir ici https://stackoverflow.com/questions/5187530/variable-variables-in-javascript –

+0

@BeingSunny qui n'est pas vraiment applicable ... –

Répondre

2

Cette fonctionnalité n'est définie nulle part - elle ne devrait donc pas fonctionner. Vous devez diviser les accès:

console.log(x["whiteBoard"]["votes"][0]) 

Alternativement, si vous devez être en mesure d'accéder aux clés en utilisant la notation X.Y, vous pouvez diviser la chaîne sur le . et accéder à ces individuellement.

Une autre option serait d'utiliser la méthode de getlodash: https://lodash.com/docs/4.17.4#get