Предположим, у меня есть данные, хранящиеся в коллекции Учитель как:
{
"name":"john",
"age":45,
"class_access":{
1234:"head",
1235:"head
},
"_id" : ObjectId("12312312"),
}
{
"name":"henry",
"age":55,
"class_access":{
1234:"head",
},
"_id" : ObjectId("sdf9991"),
}
{
"name":"travis",
"age":35,
"class_access":{
2341:"head",
},
"_id" : ObjectId("sas21"),
}
Я хочу найти всю информацию обо всех учителях, принадлежащих к классу 1234.
Для этого я попробовал:
const TeacherDetails = await Teacher.find({ class_access: {1234:"head"} })
Но ничего не возвращает. Итак, как я могу получить доступ к вложенному json, чтобы получить все подробности?
Если кому-то понадобится дополнительная информация, дайте мне знать.
Согласно решению, предоставленному г-ном Арифом const TeacherDetails = await Teacher.find ({class_access.1234: head});
Значение класса поддержки не является постоянным, скажем, я получаю его из переменной
const className = 1234
Теперь, если я попытаюсь получить className, это даст синтаксическую ошибку, я попробовал выполнить синтаксическую ошибку для всех из них
const TeacherDetails = ждать Teacher.find ({class_access.className: head});
const TeacherDetails = ждать Teacher.find ({class_access [className]: head});
const TeacherDetails = ожидание Teacher.find ({'class_access. +' $ {className} ': head});
Итак, как мы можем делать это динамически?