MongoDB是一個跨平台,面向文檔的數據庫,提供高性能,高可用性和易於擴展。MongoDB是工作在集合和文檔上一種概念。
文檔是一組鍵值對。文檔具有動態模式。動態模式是指,在同一個集合的文件不必具有相同一組集合的文檔字段或結構,並且相同的字段可以保持不同類型的數據。
db.集合名稱.remove({query}, justOne)
query:過濾條件,可選
justOne:是否只刪除查詢到的第一條數據,值為true或者1時,只刪除一條數據,默認為false,可選。
准備數據:把_id為1和2的age都變成28
> db.student.update({_id:1},{$set:{age:28}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.student.update({_id:2},{$set:{age:28}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.student.find()
{ "_id" : 1, "name" : "zhangsan", "age" : 28 }
{ "_id" : 2, "name" : "lisi", "age" : 28 }
{ "_id" : 3, "name" : "wangwu", "age" : 30 }
{ "_id" : 4, "name" : "zhaoliu", "age" : 28 }
{ "_id" : 5, "name" : "qianliu", "age" : 33 }
{ "_id" : 6, "name" : "sunba", "age" : 32 }
{ "_id" : 7, "name" : "songjiu", "skill" : [ "mongodb", "java" ] }
1、使用兩個參數:
刪除age=28的第一條數據
> db.student.remove({age:28}, true) WriteResult({ "nRemoved" : 1 }) > db.student.find() { "_id" : 2, "name" : "lisi", "age" : 28 } { "_id" : 3, "name" : "wangwu", "age" : 30 } { "_id" : 4, "name" : "zhaoliu", "age" : 28 } { "_id" : 5, "name" : "qianliu", "age" : 33 } { "_id" : 6, "name" : "sunba", "age" : 32 } { "_id" : 7, "name" : "songjiu", "skill" : [ "mongodb", "java" ] }
2、使用一個參數:
刪除age=28的所有數據
> db.student.remove({age:28}) WriteResult({ "nRemoved" : 2 }) > db.student.find() { "_id" : 3, "name" : "wangwu", "age" : 30 } { "_id" : 5, "name" : "qianliu", "age" : 33 } { "_id" : 6, "name" : "sunba", "age" : 32 } { "_id" : 7, "name" : "songjiu", "skill" : [ "mongodb", "java" ] }
3、刪除集合的全部數據,括號中的“{}”必須有,表示空的過濾條件:
> db.student.remove({}) WriteResult({ "nRemoved" : 4 })
另外使用remove()方法刪除的時候,只是刪除數據,表還會存在。使用drop()方法會把表也刪除,並且drop()的效率要比remove()效率高很多。