ドキュメントの削除
Overview
このガイドでは、削除操作を使用して MongoDB コレクションからドキュメントを削除する方法を学習できます。
サンプル データ
このガイドの例を実行するには、次のスニペットを使用して、これらのドキュメントを tea.ratings
コレクションにロードします。
coll := client.Database("tea").Collection("ratings") docs := []interface{}{ bson.D{{"type", "Masala"}, {"rating", 10}}, bson.D{{"type", "Earl Grey"}, {"rating", 7}}, bson.D{{"type", "Oolong"}, {"rating", 10}}, bson.D{{"type", "Assam"}, {"rating", 7}}, } result, err := coll.InsertMany(context.TODO(), docs) if err != nil { panic(err) } fmt.Printf("Number of documents inserted: %d\n", len(result.InsertedIDs))
Tip
存在しないデータベースとコレクション
書き込み操作を実行するときに必要なデータベースとコレクションが存在しない場合は、サーバーが暗黙的にそれらを作成します。
各ドキュメントには、 フィールドとtype
rating
フィールドに対応するお茶の種類の評価が含まれています。
削除操作
削除操作を使用して、MongoDB からデータを削除します。 削除操作は、次の方法で構成されています。
DeleteOne()
は、フィルターに一致する最初のドキュメントを削除します。DeleteMany()
は、フィルターに一致するすべてのドキュメントを削除します
Tip
DeleteMany()
メソッドの実行時にフィルターに一致するドキュメントが 1 つある場合は、 DeleteOne()
メソッドを実行するのと同じです。
パラメーター
DeleteOne()
メソッドとDeleteMany()
メソッドでは、一致するドキュメントを指定するContext
タイプとnon-nil
クエリフィルターを渡すことが想定されています。
オプションとして、これらはどちらも削除操作を構成するために使用できるオプションを表す 3 つ目のパラメータとしてDeleteOptions
タイプを指定します。 DeleteOptions
を指定しない場合、ドライバーは各オプションのデフォルト値を使用します。
DeleteOptions
タイプでは、次の方法でオプションを設定できます。
方式 | 説明 |
---|---|
SetHint() | The index to use to scan for documents to delete. Default: nil |
SetCollation() | The type of language collation to use when sorting results. Default: nil |
戻り値
DeleteOne()
メソッドとDeleteMany()
メソッドはDeleteResult
型を返します。 このタイプには、削除されたドキュメント数を示すDeletedCount
プロパティが含まれています。 If there are no matches to your filter, no document gets deleted and DeletedCount
is 0
.
例
次の例では、 DeleteMany()
メソッドを使用して次の操作を実行します。
rating
が8
を超えるドキュメントを照合して削除します_id
をインデックスとして使用する方法を指定します
filter := bson.D{{"rating", bson.D{{"$gt", 8}}}} opts := options.Delete().SetHint(bson.D{{"_id", 1}}) result, err := coll.DeleteMany(context.TODO(), filter, opts) if err != nil { panic(err) } fmt.Printf("Number of documents deleted: %d\n", result.DeletedCount)
Tip
上記の例でDeleteMany()
ではなくDeleteOne()
メソッドが使用されている場合、ドライバーは一致した 2 つのドキュメントのうちの最初のドキュメントを削除します。
詳細情報
削除操作の実行可能な例については、次の使用例を参照してください。
上記の操作の実行方法の詳細については、次のガイドを参照してください。
ドライバーが Context を使用する方法について詳しくは、「 Context 」を参照してください。
API ドキュメント
このガイドで説明したメソッドや型の詳細については、次の API ドキュメントを参照してください。