MongoDB ドキュメントの削除
前の章では、MongoDB のコレクションにデータを追加および更新する方法を学習しました。この章では、MongoDB コレクションの削除について学習していきます。
MongoDBのremove()関数は、コレクションからデータを削除するために使用されます。
MongoDBのデータ更新にはupdate()関数を使用できます。実行条件が正しいかどうかを判断するために、remove() 関数を実行する前に find() コマンドを実行することを習慣にしてください。
構文
remove() メソッドの基本的な構文形式は次のとおりです:
db.collection.remove( <query>, <justOne> )
MongoDB がバージョン 2.6 以降の場合、構文形式は次のとおりです:
db.collection.remove( <query>, { justOne: <boolean>, writeConcern: <document> } )
パラメータの説明:
クエリ : (オプション) 削除されたドキュメントの条件。
justOne : (オプション) true または 1 に設定すると、1 つのドキュメントのみが削除されます。
writeConcern : (オプション) 例外がスローされるレベル。
例
次のドキュメントに対して 2 つの挿入操作を実行します:
>db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: 'php中文网', url: 'http://www.php.cn', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
find() 関数を使用してデータをクエリします:
> 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 }
次に、「MongoDB チュートリアル」というタイトルのドキュメントを削除します:
>db.col.remove({'title':'MongoDB 教程'}) WriteResult({ "nRemoved" : 2 }) # 删除了两条数据 >db.col.find() …… # 没有数据
最初に見つかったレコードのみを削除したい場合は、以下に示すように、justOne を 1 に設定できます:
>db.COLLECTION_NAME.remove(DELETION_CRITERIA,1)
すべてのデータを削除したい場合は、次のメソッドを使用できます (通常の truncate コマンドと同様) SQL):
>db.col.remove({}) >db.col.find() >