试图用变量作为键来查询mongoose

时间:2016-08-22 21:34:55

标签: node.js mongodb mongoose mongoose-schema

如何使用变量作为我正在搜索的键来查询mongodb?

数据:

const schedule = {
  day0: [10, 1440],
  day1: [10, 1440],
  day3: [10, 1440],
  day6: [10, 1440],
}

查询

User.find({ `schedule.${varHere}` { $exists: true}}, (err, users) => {
  console.log(users)
})

1 个答案:

答案 0 :(得分:3)

您需要先使用ES6 computed propery names

设置对象
const query = { [`schedule.${varHere}`]: { $exists : true } };

或使用表达式作为属性名称

const query = {};
query[`schedule.${varHere}`] = { $exists: true };

然后

User.find(query, (err, users) => {
  console.log(users)
})