尝试以变量为键查询猫鼬

Bra*_*n C 2 mongoose mongodb node.js mongoose-schema

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

数据:

const schedule = {
  day0: [10, 1440],
  day1: [10, 1440],
  day3: [10, 1440],
  day6: [10, 1440],
}
Run Code Online (Sandbox Code Playgroud)

查询

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

Car*_*ana 10

您需要先使用ES6 计算属性名称设置一个对象

const query = { [`schedule.${varHere}`]: { $exists : true } };
Run Code Online (Sandbox Code Playgroud)

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

const query = {};
query[`schedule.${varHere}`] = { $exists: true };
Run Code Online (Sandbox Code Playgroud)

然后

User.find(query, (err, users) => {
  console.log(users)
})
Run Code Online (Sandbox Code Playgroud)