sql >> データベース >  >> NoSQL >> MongoDB

MongoDB deleteMany()

    MongoDBでは、db.collection.deleteMany() メソッドは、filterに一致するすべてのドキュメントを削除します コレクションから。つまり、それらを削除します。

    collection partは、ドキュメントを削除するコレクションの名前です。

    すべてのドキュメントを削除

    この例では、employeesというコレクションからすべてのドキュメントを削除します。 :

    db.employees.deleteMany({})

    結果:

    { "acknowledged" : true, "deletedCount" : 5 }

    結果は、5つのドキュメントが削除されたことを示しています。

    選択したドキュメントを削除する

    この例では、一部のドキュメントのみを削除します。

    まず、従業員コレクションをもう一度入力しましょう:

    db.employees.insertMany([
        { _id: 1, name: "Sandy", salary: 55000 },
        { _id: 2, name: "Sarah", salary: 128000 },
        { _id: 3, name: "Fritz", salary: 25000 },
        { _id: 4, name: "Chris", salary: 45000 },
        { _id: 5, name: "Beck", salary: 82000 }
        ])

    それでは、年間80,000を超える収益を上げているすべての従業員を削除しましょう。

    db.employees.deleteMany({ "salary": { $gt: 80000 } })

    結果:

    { "acknowledged" : true, "deletedCount" : 2 }

    今回は2つのドキュメントのみが削除されました。

    コレクションを見てみましょう。

    db.employees.find()

    結果:

    { "_id" : 1, "name" : "Sandy", "salary" : 55000 }
    { "_id" : 3, "name" : "Fritz", "salary" : 25000 }
    { "_id" : 4, "name" : "Chris", "salary" : 45000 }

    予想通り、2人のトップ給与稼ぎ手が会社を辞めました。

    1つのドキュメントを削除

    特定のドキュメントを削除する必要がある場合は、ドキュメントの_idを指定できます その特定のドキュメントを削除するための値(またはそのドキュメントに固有の他の値)。

    したがって、上記のコレクションからフリッツを削除する場合は、彼の_idを指定できます。 3の値 。このように:

    db.employees.deleteMany({ "_id": 3 })

    結果:

    { "acknowledged" : true, "deletedCount" : 1 }

    コレクションをもう一度確認しましょう:

    db.employees.find()

    結果:

    { "_id" : 1, "name" : "Sandy", "salary" : 55000 }
    { "_id" : 4, "name" : "Chris", "salary" : 45000 }

    予想通り、フリッツは姿を消しました。

    詳細情報

    db.collection.deleteMany() メソッドは、collationなどのオプションのパラメーターも受け入れます 、hint 、およびwriteConcern

    詳細については、MongoDBのドキュメントを参照してください。


    1. 日時を使用したMongoDB/Pymongoクエリ

    2. Redis:データベースのサイズ/キーのサイズを表示

    3. SpringDataMongoDBとJava8LocalDate MappingException

    4. Luaスクリプトとredis-None値をテストする方法