ホームページ  >  記事  >  バックエンド開発  >  Go 言語 (mgo) MongoDB 内のドキュメントを削除する

Go 言語 (mgo) MongoDB 内のドキュメントを削除する

PHPz
PHPzオリジナル
2023-04-14 11:16:51526ブラウズ

Golang でのドキュメント操作のために MGO を使用して MongoDB に接続する場合、ドキュメントの削除は実行する必要がある一般的な操作です。この記事では、mgoを使ってMongoDB内のドキュメントを削除する方法を紹介します。

ドキュメントの削除

単一ドキュメントの削除

最初に、mgo を使用して単一ドキュメントを削除する方法を見てみましょう。

session, err := mgo.Dial("localhost:27017")
if err != nil {
    panic(err)
}
defer session.Close()

// 选择数据库和集合
collection := session.DB("test_db").C("test_collection")

err = collection.Remove(bson.M{"name": "John"})
if err != nil {
    panic(err)
}

この例では、MongoDB に接続し、データベース「test_db」とコレクション「test_collection」を選択しました。次に、bson.M を使用して一致するクエリを作成し、「John」という名前のドキュメントを見つけて、collection.Remove() メソッドを使用して削除します。削除に失敗した場合は、例外がスローされます。

複数のドキュメントを削除する

複数のドキュメントを削除する必要がある場合は、collection.RemoveAll() メソッドを使用できます。

session, err := mgo.Dial("localhost:27017")
if err != nil {
    panic(err)
}
defer session.Close()

// 选择数据库和集合
collection := session.DB("test_db").C("test_collection")

_, err = collection.RemoveAll(bson.M{"gender": "male"})
if err != nil {
    panic(err)
}

この例では、bson.M を使用して、性別が「男性」のすべてのドキュメントを検索するクエリを作成し、collection.RemoveAll() メソッドを使用してそれらをすべて削除します。

コレクションの削除

コレクションを完全に削除して、そのメモリとハード ディスクのスペースを解放したい場合は、collection.Drop() メソッドを使用できます。

session, err := mgo.Dial("localhost:27017")
if err != nil {
    panic(err)
}
defer session.Close()

// 选择数据库和集合
collection := session.DB("test_db").C("test_collection")

err = collection.Drop()
if err != nil {
    panic(err)
}

この例では、collection.Drop() メソッドを使用して「test_collection」コレクションを削除します。すべてのドキュメントは完全に削除されることに注意してください。

概要

Golang でのドキュメント操作のために mgo を使用して MongoDB に接続する場合、ドキュメントの削除は頻繁に必要な操作です。単一のドキュメントを削除するには collection.Remove() メソッドを使用し、複数のドキュメントを削除するには collection.RemoveAll() メソッドを使用し、コレクションを完全に削除するには collection.Drop() メソッドを使用します。

この記事が、Golang で mgo を使用して MongoDB 内のドキュメントを削除するのに役立つことを願っています。

以上がGo 言語 (mgo) MongoDB 内のドキュメントを削除するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。