不能使用变量来访问字段内的数组成员

时间:2017-10-18 01:22:44

标签: javascript mongodb mongoose mean

为什么我不能使用变量来访问文档中的内容?如果我硬编码它的工作,但它使用一个变量,它没有。

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

1 个答案:

答案 0 :(得分:2)

此功能未在任何地方定义 - 因此预计不会起作用。您必须拆分访问权限:

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

或者,如果您需要能够使用X.Y表示法访问密钥,则可以在.上拆分字符串并单独访问这些字符串。

另一种选择是使用lodash&#39 {s} get方法:https://lodash.com/docs/4.17.4#get