日期:2014-05-16  浏览次数:20419 次

MongoDB学习笔记(四)——CRUD之 删除

8、如何删除文档?


语法格式:db.colection.remove(<query>, <justone>);


对应与SQL中的DELETE语句,<query>相当于where条件,<justone>相当于limit 1。

  • 只有当<justone>的值为true或1时,只删除第一条符合条件的文档

> db.zyv.find();

{ "_id" : ObjectId("50c890633c5d2c447b69b483"), "title" :"google" }

{ "_id" : ObjectId("50c890633c5d2c447b69b484"), "title" :"google" }

{ "_id" : ObjectId("50c890633c5d2c447b69b485"), "title" :"google" }

> db.zyv.remove({title:'google'},1);

> db.zyv.find();

{ "_id" : ObjectId("50c890633c5d2c447b69b484"), "title" : "google" }

{ "_id" : ObjectId("50c890633c5d2c447b69b485"), "title" : "google" }


示例中集合zyv中有3个title为”google”的文档,当调用 db.zyv.remove({title:'google'},1);后,只删除了第一个符合条件的文档,集合 zyv中还剩下两个title为”google”的文档。


  • <query>的值可以包含正则表达式,如:

> db.bios.remove( { ’name.first’ : /^G/ } );


则是删除子文档name中first属性以G开头的所有文档。