Возврат документа со всем массивом объектов, в которых существует элемент - PullRequest
1 голос
/ 10 мая 2019

Я пытаюсь вернуть один документ с массивом объектов, где существует userAnswer. Мой запрос ниже возвращает только первый объект с массивом. Что мне здесь не хватает? Это должно вернуть два.

Используются Meteor и MongoDB.

MongoDB: document

{
  _id: 1,
  questions: [
    { question: 'test question', userAnswer: 'answer' },
    { question: 'test question two', userAnswer: 'answertwo' },
    { question: 'test question three' }
  ]
};

Mongodb: Query

ConductedExams.findOne(
  {
    userId,
    examId,
    userCompletedExam: null
  },
  { fields: { questions: { $elemMatch: { userAnswer: { $exists: true } } } } }
);

1 Ответ

1 голос
/ 10 мая 2019

«findOne» возвращает только один элемент. Вы должны использовать «найти».

...