近年、開発分野でGolangの利用が増えています。 MongoDB は非常に人気のあるドキュメント データベースであり、面倒な SQL ステートメントを必要とせずに、Golang を通じてデータのクエリ、追加、更新、削除を迅速かつ簡単に行うことができ、非常に便利です。この記事では、Golang を使用して MongoDB データベースにクエリを実行する方法を紹介します。
1. MongoDB のインストール
MongoDB を使用する前に、まず MongoDB をインストールする必要があります。公式 Web サイトからダウンロードしてインストールし、インストールが成功すると、MongoDB サービスをローカルで開始できるようになります。詳細については公式ドキュメントを参照してください。
2. MongoDB ドライバーのインストール
Golang では MongoDB ドライバーが公式に提供されていないため、公式に推奨されているサードパーティ ライブラリ「mongo-go-driver」を使用できます。ターミナルで次のコマンドを実行してインストールします:
go get go.mongodb.org/mongo-driver/mongo
3. MongoDB
# に接続します。 # #Golang を使用して MongoDB を操作する前に、MongoDB クライアント接続を確立する必要があります。次のサンプル コードを参照できます:import ( "context" "fmt" "go.mongodb.org/mongo-driver/mongo" "go.mongodb.org/mongo-driver/mongo/options" ) func main() { // 配置客户端 clientOptions := options.Client().ApplyURI("mongodb://localhost:27017") // 连接 MongoDB client, err := mongo.Connect(context.Background(), clientOptions) if err != nil { fmt.Println("MongoDB Connect Error:", err) return } // 关闭连接 defer func() { if err = client.Disconnect(context.Background()); err != nil { panic(err) } }() }4. MongoDB データのクエリ接続が成功したら、MongoDB データベース内のデータのクエリを開始できます。
collection := client.Database("mydb").Collection("mycollection") filter := bson.M{"name": "张三"} var result bson.M if err = collection.FindOne(context.Background(), filter).Decode(&result); err != nil { return }
filter はクエリ条件です。この例では、クエリ条件は
{"name":"Zhang San"} です。実行結果は、ドキュメントの結果を変数
result に保存し、エラー メッセージを返します。
collection := client.Database("mydb").Collection("mycollection") filter := bson.M{"age": bson.M{"$gte":18}} cursor, err := collection.Find(context.Background(), filter) if err != nil { return } var results []bson.M if err = cursor.All(context.Background(), &results); err != nil { return }
filter はクエリ条件です。この例 クエリ条件は
{"age": {"$gte":18}} で、年齢が 18 歳以上のすべてのドキュメントをクエリすることを意味します。実行結果は、すべてのドキュメント結果を変数
results に保存し、カーソル オブジェクトを返します。
collection := client.Database("mydb").Collection("mycollection") filter := bson.M{"name": "张三"} var result bson.M if err = collection.FindOne(context.Background(), filter).Decode(&result); err != nil { return } age := result["age"].(int)
以上がGolang で MongoDB データベースにクエリを実行する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。