MongoDB Delete
Main Page >> MongoDB >>MongoDB Workbook >> Deleting a Document/Collection
Deleting a Document
At some stage you may want to delete a document from a collection. The format is:
db.collectionName.deleteOne(query_criteria) /* deletes the first document found that matches the query criteria */
db.collectionName.remove(query_criteria) /* deletes all documents found that matches the query criteria */
db.collectionName.remove(query_criteria) /* deletes all documents in a collection (use with care!) */
Deleting a Collection
If you want to drop a collection completely, including any data held in it:
db.collectionName.drop() /* removes a collection completely (use with care!) */
This is equivalent to the SQL command:
DROP TABLE tableName;
Delete Department 40
Department 40 has closed down completely and should be removed. Note, if you added the duplicate department 40 previously you will have 2 documents:
db.dept.find({deptno:40})
Which should return:
{ "_id" : 40, "deptno" : 40, "dname" : "OPERATIONS", "loc" : "BOSTON" } { "_id" : 50, "deptno" : 40, "dname" : "OPERATIONS V2", "loc" : "BOSTON" }
If you use the deleteOne() function, it will likely delete the first record. To delete both documents remove() must be used instead:
db.dept.remove({deptno: 40})
Note, if the query_criteria only returns one document, remove() and deleteOne() will have the same effect.
This is equivalent to the SQL command:
DELETE FROM dept WHERE deptno = 40;
Check that the collection has gone:
db.dept.find({deptno:40})
No documents should be returned.
Next Step
This concludes the section on manipulating collections. Return to the Workbook.