Итак, я пытаюсь написать запрос в MongoDB, который полагается на часть запрашиваемого документа, чтобы вернуть документ, который я хочу.Mongodb Query, который полагается на тот же документ
Это пример формата этих документов:
{
"_id" : ObjectId("58990510cdab041b39c78dd1"),
"classcode" : "CS433",
"department" : "CS",
"instructor" : {
"name" : "Mike",
"office" : "Starbucks"
},
"students" : [
{
"name" : "Dave",
"major" : "CS",
"gradyear" : 2019
},
{
"name" : "Joe",
"major" : "CS",
"gradyear" : 2018
},
{
"name" : "Stan",
"major" : "CS",
"gradyear" : 2017
}
]
}
Я хочу использовать строку, которая обозначает отдел, чтобы помочь увидеть, если есть не подходит для этого отдела в мажоре. то есть, если отделом является CS, тогда он проверяет, есть ли ученик, у которого нет основной роли CS.
Я знаю $ne
, $elemMatch
, а что нет. У меня просто проблемы с использованием другой части документа, чтобы помочь запросу. Я не думаю, что здесь будет использоваться дополнительный запрос.
Это возвращает только весь документ, но без документов различных студентов в массиве. Я хочу вернуть все документы, в которых, по крайней мере, один из основных студентов не совпадает с департаментом этого класса. –
Можете ли вы попробовать обновленный запрос? и добавьте ожидаемый ответ на сообщение, если это не работает так, как вы планируете. – Veeram
Обновленный запрос возвращает правильный объект. Знаете ли вы о каких-либо возможных способах выполнения этого без использования функции агрегации, но с функцией поиска? Мне сказали, что запрос, чтобы найти мой ответ, должен был быть довольно простым и может быть выполнен без функции агрегации. –