使用变量作为find()内投影的字段说明符

时间:2017-01-31 14:10:58

标签: javascript mongodb meteor mongodb-query

我想在mongodb中find()内的Key中使用一个变量。我想做一个类似于select value from table;的请求。

我试过了:value = '{ "' + axey.options[i].value + '" : 1, "_id" : 0 }';

我以这种方式提出要求:Validation.find({}, value ).fetch();

有人知道如何将我的价值用作“钥匙”而不是价值?

2 个答案:

答案 0 :(得分:1)

使用bracket notation构建投影文档。您还需要在投影文档中包含field specifier。例如:

var projection = { "fields": { "_id": 0 } };
projection["fields"][axey.options[0].value] = 1;
Validation.find({}, projection ).fetch();

答案 1 :(得分:0)

我没有清楚地理解你的问题,但如果你想知道文件中的某些密钥是否存在,就像你提到的那样选择表中的密钥而不是你可以做到的。

Collection.find("keyName": {$exists:true}).fetch();