Back to Freecodecamp

Use model.find() to Search Your Database

curriculum/challenges/english/blocks/mongodb-and-mongoose/587d7fb7367417b2b2512c0b.md

latest1.1 KB
Original Source

--description--

In its simplest usage, Model.find() accepts a query document (a JSON object) as the first argument, then a callback. It returns an array of matches. It supports an extremely wide range of search options. Read more in the docs.

--instructions--

Modify the findPeopleByName function to find all the people having a given name, using <code>Model.find() -> [Person]</code>

Use the function argument personName as the search key.

--hints--

Find all items corresponding to a criteria should succeed

js
  const response = await fetch(code + '/_api/find-all-by-name', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      name: 'r@nd0mN4m3',
      age: 24,
      favoriteFoods: ['pizza']
    })
  });
  if (!response.ok) {
    throw new Error(await response.text());
  }
  const data = await response.json();
  assert.isArray(data, 'the response should be an Array');
  assert.equal(
    data[0].name,
    'r@nd0mN4m3',
    'item.name is not what expected'
  );
  assert.equal(data[0].__v, 0, 'The item should be not previously edited');