object和attribute 都是作为函数参数传递进来的 object = ‘Port 0’ attribute= ‘Utilization(%)‘ 如果我用下面的语句来query MongoDB,可以得到想要的结果 collection.find({“Object Name”:object.toString()}, {“Utilization (%)”:1, “Poll Time”:1, “_id”:0}).sort({“Poll Time”:1}).toArray(function(err, docs) { … } 结果返回的是“Object name" 等于 ’Port0 0’ 的文档里的‘Utilization (%)’ 和 ’Poll Time’ 这两列
但是如果我想用attribute来代替hardcode 的”Utilization (%)“, 结果就无法返回”Utilization (%)"这一行,语句如下 collection.find({“Object Name”:object.toString()}, {attribute:1, “Poll Time”:1, “_id”:0}).sort({“Poll Time”:1}).toArray(function(err, docs) { … }
不明白如果我想用变量来作为find() 里第二个{}的值,应该怎么用?现在给我的感觉是程序认为我想返回key是‘attribute’这一列的数据,而没有认为attribute是一个变量。 是我用的find()方式不对还是有特殊的写法? 如果想返回变量值(函数参数)指定的列,到底应该怎么做?希望不吝赐教。
多谢,我也这样解决了。
var query = {}; query[“Poll Time”] = 1; query[attribute] = 1; query["_id"] = 0;
collection.find({“Object Name”:object.toString()}, query).sort({“Poll Time”:1}).toArray(function(err, docs) { … }