db.student.find().forEach(function(x){ // 正常情况下,获取Document的field如下 // 获取学生姓名 print(x.stuName); // 获取学生年龄 print(x.stuAge); }); // 但是我现在有一个需求,就是这个fieldName是动态变化的 // 比如我需要根据传过来的fieldName,获取不同的field值 // 比如我调用这个函数的时候传了字符串"stuName"过来 function handleField(fieldName){ db.student.find().forEach(function(x){ // 打印出stuName print(fieldName); // 打印出 undefined print(x.fieldName); }); } 为什么第二种方法不成功,是不是x.fieldName语句,这个fieldName只能指定死,不能根据动态传入的值来获取对应的field。
print(x[fieldName]);
上面这样, 这是 js 基础问题 跟 mongodb 没什么关系.