AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。

クイック リファレンス

このページでは、 Goドライバーで実行されるいくつかのMongoDB操作のドライバー構文を示し、関連する参照とAPIドキュメントへのリンクを提供します。

操作
構文
err = coll.FindOne(context.TODO(), bson.D{{"firstName", Mike}}).Decode(&result)
cursor, err := coll.Find(context.TODO(), bson.D{{"age", bson.D{{"$gte", 46}}}})
result, err := coll.InsertOne( context.TODO(), bson.D{ {"firstName", "Aliya"}, {"lastName", "Sanders"} })
docs := []any { bson.D{{"firstName", "Erik"}, {"age", 27}}, bson.D{{"firstName", "Mohammad"}, {"lastName", "Ahmad"}, {"age", 10}}, bson.D{{"firstName", "Todd"}}, bson.D{{"firstName", "Juan"}, {"lastName", "Pablo"}} } result, err := coll.InsertMany(context.TODO(), docs)
result, err := coll.UpdateOne( context.TODO(), bson.D{{"firstName", "Erik"}}, bson.D{{"$set", bson.D{{"age", 28}}}})fmt.Printf("Number of modified documents: %d\n", result.ModifiedCount)
result, err := coll.UpdateMany( context.TODO(), bson.D{{"age", bson.D{{"$gte", 65}}}}, bson.D{{"$set", bson.D{{"classification", "senior"}}}})fmt.Printf("Number of modified documents: %d\n", result.ModifiedCount)

ドキュメント内の配列を更新

API ドキュメント
Update Arrays Guide

result, err := coll.UpdateMany( context.TODO(), bson.D{}, bson.D{{"$push", bson.D{{"hobbies", "painting"}}}})
result, err := coll.ReplaceOne( context.TODO(), bson.D{{"firstName", "Mick"}, {"lastName", "Salazar"}}, bson.D{{"firstName", "Michael"}, {"lastName", "Salazar Jr."}})
result, err := coll.DeleteOne( context.TODO(), bson.D{{"firstName", "Xiao"}})
results, err := coll.DeleteMany( context.TODO(), bson.D{{"age", bson.D{{"$lte", 12}}}})
models := []mongo.WriteModel{ mongo.NewInsertOneModel().SetDocument(bson.D{{"firstName", "John"}, {"age", 5}}), mongo.NewUpdateOneModel().SetFilter(bson.D{{"firstName", "Juan"}}). SetUpdate(bson.D{{"$set", bson.D{{"age", 12}}}}),}opts := options.BulkWrite().SetOrdered(true) results, err := coll.BulkWrite(context.TODO(), models, opts)
pipeline := mongo.Pipeline{bson.D{{"$match", bson.D{{"operationType", "insert"}}}}}cs, err := coll.Watch(context.TODO(), pipeline)

カーソルから反復的にデータにアクセスする

API ドキュメント
ドキュメントを個別に検索する参照

cursor, err := coll.Find(context.TODO(), bson.D{}) for cursor.Next(context.TODO()) { var result bson.D if err := cursor.Decode(&result); err != nil { log.Fatal(err) } fmt.Println(result)}

カーソルから配列としてカーソルにアクセス

API ドキュメント
すべてのドキュメントを検索する参照

cursor, err := coll.Find(context.TODO(), bson.D{}) var results []bson.Dif err = cursor.All(context.TODO(), &results); err != nil { panic(err)}
count, err := coll.CountDocuments(context.TODO(), bson.D{})

個別のフィールド値の一覧表示

API ドキュメント
Distinct Values Guide

var results []stringerr = coll.Distinct(context.TODO(), "firstName", bson.D{}).Decode(&results)

取得されるドキュメント数の制限

API ドキュメント
ドキュメント参照の制限

cursor, err := coll.Find(context.TODO(), bson.D{}, options.Find().SetLimit(2))

検索されたドキュメントをスキップする

API ドキュメント
ドキュメントの参照をスキップ

// the collection has 6 documentscursor, err := coll.Find(context.TODO(), bson.D{}, options.Find().SetSkip(4))
cursor, err := coll.Find(context.TODO(), bson.D{}, options.Find().SetSort(bson.D{{"age", 1}}))

結果のプロジェクトドキュメントフィールド

API ドキュメント
プロジェクション ガイド

cursor, err := coll.Find( context.TODO(), bson.D{}, options.Find().SetProjection( bson.D{{"age", 0}, {"_id",0}} ))

インデックスの作成

API ドキュメント
Indexes Guide

model := mongo.IndexModel{Keys: bson.D{{"firstName", 1}, {"lastName", -1}}}name, err := coll.Indexes().CreateOne(context.TODO(), model)
// Only searches on fields covered by text indexescursor, err := coll.Find(context.TODO(), bson.D{{"$text", bson.D{{"$search", "arts"}}}})
このページを評価