MongoDB の書き込み懸念エラー
マジョリティ書き込み懸念を使用して MongoDB にデータを挿入すると、次のエラーが発生する可能性があります:
No write concern mode named 'majority`' found in replica set configuration
このエラーは、レプリカ セットの構成に、という名前の書き込み懸念モードが含まれていないために発生します。 Majority.
エラーの解決
このエラーを解決するには、レプリカ セット構成にマジョリティ書き込み懸念モードを追加します。マジョリティ書き込み懸念により、書き込みを確認する前にデータがレプリカ セット メンバーの大部分に書き込まれることが保証されます。
接続文字列の例
次の接続文字列にはマジョリティが含まれています。書き込み懸念:
mongodb+srv://user:[email protected]/DBname?retryWrites=true&w=majority
データベースの変更接続
データベース接続セットアップ関数を更新して、大部分の書き込み懸念を追加します:
import ( "context" "time" "go.mongodb.org/mongo-driver/mongo" ) var DbConn *mongo.Client func SetupDB(conn_str string) { var err error opts := options.Client().ApplyURI(conn_str).SetWriteConcern(options.Majority()) DbConn, err = mongo.NewClient(opts) if err != nil { log.Fatal(err) } ctx, _ := context.WithTimeout(context.Background(), 10*time.Second) err = DbConn.Connect(ctx) if err != nil { log.Fatal(err) } }
リクエストの更新
InsertOneリクエストは更新されたデータベース接続を使用しています:
ctx, cancel := context.WithTimeout(context.Background(), 3*time.Second) defer cancel() result, err := DbConn.Database(dbName).Collection(collectionName).InsertOne(ctx, b)
これらの変更を行った後、アプリケーションとエラーが解決されるはずです。
以上がMongoDB で「「マジョリティ」という名前の書き込み懸念モードが見つかりません」エラーを解決する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。