MongoDB padam dokumen
Dalam bab sebelumnya, kami telah mempelajari cara menambah dan mengemas kini data pada koleksi dalam MongoDB. Dalam bab ini kita akan terus belajar tentang pemadaman koleksi MongoDB.
Fungsi MongoDB remove() digunakan untuk mengalih keluar data daripada koleksi.
Kemas kini data MongoDB boleh menggunakan fungsi kemas kini(). Ia adalah tabiat yang baik untuk melaksanakan perintah find() sebelum melaksanakan fungsi remove() untuk menentukan sama ada keadaan pelaksanaan adalah betul.
Syntax
Format sintaks asas kaedah remove() adalah seperti berikut:
db.collection.remove( <query>, <justOne> )
Jika MongoDB anda ialah versi 2.6 atau lebih baru, format sintaks adalah seperti berikut:
db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } )
Perihalan parameter:
pertanyaan : (pilihan) syarat untuk dokumen yang dipadamkan.
justOne : (Pilihan) Jika ditetapkan kepada benar atau 1, hanya satu dokumen akan dipadamkan.
tulisKeprihatinan : (pilihan) Tahap di mana pengecualian dilemparkan.
Contoh
Kami melakukan dua operasi sisipan pada dokumen berikut:
>db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: 'php中文网', url: 'http://www.php.cn', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
Gunakan fungsi find() untuk menanyakan data:
> db.col.find() { "_id" : ObjectId("56066169ade2f21f36b03137"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php中文网", "url" : "http://www.php.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 } { "_id" : ObjectId("5606616dade2f21f36b03138"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "php中文网", "url" : "http://www.php.cn", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
Seterusnya kami mengalih keluar dokumen dengan tajuk 'Tutorial MongoDB':
>db.col.remove({'title':'MongoDB 教程'}) WriteResult({ "nRemoved" : 2 }) # 删除了两条数据 >db.col.find() …… # 没有数据
Jika anda hanya mahu memadamkan rekod pertama ditemui, anda boleh menetapkan justOne kepada 1, seperti berikut:
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
Jika anda ingin memadam semua data, anda boleh menggunakan kaedah berikut (serupa dengan perintah truncate SQL biasa):
>db.col.remove({}) >db.col.find() >