#mongodb #dictionary
#mongodb #словарь
Вопрос:
У меня есть коллекция ‘school’, которая содержит два поля, standard и students (обучающиеся по этому стандарту).Я хочу найти количество студентов в определенном стандарте.
The structure of school collection is:
{
"_id" : ObjectId("5809cb458c392528de086601"),
"standard" : 'First',
"students":{
'1':{name: 'Shawn','age': 6},
'2':{name: 'Ryan','age': 5},
'3':{name: 'Caoline','age': 6},
'4':{name: 'Debian','age': 6},
'5':{name: 'Zara','age': 5},
}
}
Я знаю запрос для поиска определенного стандарта (например: ‘First’). Это выглядело бы примерно так: db.school.findOne({‘standard’:’First’})
Но я не знаю, как найти количество студентов для этого стандарта. Поскольку students является объектом словаря. Итак, мой вопрос в том, как найти размер словаря в MongoDB?
Комментарии:
1. students — это объект словаря . Это источник вашей проблемы. Также это признак того, что вам нужно пересмотреть структуру вашего документа. Я предлагаю вам сделать «ключ» в
students
поле ключевым значением для данного «студента» и создатьstudents
поле массива.