freeCodeCamp/curriculum/challenges/english/05-apis-and-microservices/mongodb-and-mongoose/delete-many-documents-with-...

1.7 KiB
Raw Blame History

id title challengeType forumTopicId
587d7fb8367417b2b2512c11 Delete Many Documents with model.remove() 2 301538

Description

Model.remove() is useful to delete all the documents matching given criteria.

Instructions

Modify the removeManyPeople function to delete all the people whose name is within the variable nameToRemove, using Model.remove(). Pass it to a query document with the name field set, and a callback.

Note: The Model.remove() doesnt return the deleted document, but a JSON object containing the outcome of the operation, and the number of items affected. Dont forget to pass it to the done() callback, since we use it in tests.

Tests

tests:
  - text: Deleting many items at once should succeed
    testString: |
      getUserInput => $.ajax({url: getUserInput('url') + '/_api/remove-many-people', type: 'POST', contentType:'application/json', data: JSON.stringify([{name: 'Mary', age: 16, favoriteFoods: ['lollipop']}, {name: 'Mary', age: 21, favoriteFoods: ['steak']}])}).then(data => {
        assert.isTrue(!!data.ok, 'The mongo stats are not what expected');
        assert.equal(data.n, 2, 'The number of items affected is not what expected');
        assert.equal(data.count, 0, 'the db items count is not what expected');
        }, xhr => { throw new Error(xhr.responseText); })      

Challenge Seed

Solution

/**
  Backend challenges don't need solutions, 
  because they would need to be tested against a full working project. 
  Please check our contributing guidelines to learn more.
*/