MongoDB是一個(gè)跨平臺(tái),面向文檔的數(shù)據(jù)庫(kù),提供高性能,高可用性和易于擴(kuò)展。MongoDB是工作在集合和文檔上一種概念。
文檔是一組鍵值對(duì)。文檔具有動(dòng)態(tài)模式。動(dòng)態(tài)模式是指,在同一個(gè)集合的文件不必具有相同一組集合的文檔字段或結(jié)構(gòu),并且相同的字段可以保持不同類型的數(shù)據(jù)。
db.集合名稱.remove({query}, justOne)
query:過(guò)濾條件,可選
justOne:是否只刪除查詢到的第一條數(shù)據(jù),值為true或者1時(shí),只刪除一條數(shù)據(jù),默認(rèn)為false,可選。
準(zhǔn)備數(shù)據(jù):把_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、使用兩個(gè)參數(shù):
刪除age=28的第一條數(shù)據(jù)
> 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、使用一個(gè)參數(shù):
刪除age=28的所有數(shù)據(jù)
> 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、刪除集合的全部數(shù)據(jù),括號(hào)中的“{}”必須有,表示空的過(guò)濾條件:
> db.student.remove({})WriteResult({ "nRemoved" : 4 })
另外使用remove()方法刪除的時(shí)候,只是刪除數(shù)據(jù),表還會(huì)存在。使用drop()方法會(huì)把表也刪除,并且drop()的效率要比remove()效率高很多。
新聞熱點(diǎn)
疑難解答
圖片精選