为什么我不能使用变量来访问文档中的内容?如果我硬编码它的工作,但它使用一个变量,它没有。
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 :(得分:2)
此功能未在任何地方定义 - 因此预计不会起作用。您必须拆分访问权限:
console.log(x["whiteBoard"]["votes"][0])
或者,如果您需要能够使用X.Y
表示法访问密钥,则可以在.
上拆分字符串并单独访问这些字符串。
另一种选择是使用lodash
&#39 {s} get
方法:https://lodash.com/docs/4.17.4#get