MongoDB 中的写入关注错误
使用多数写入关注向 MongoDB 插入数据时,可能会遇到以下错误:
No write concern mode named 'majority`' found in replica set configuration
出现此错误是因为副本集配置不包含名为的写关注模式大多数。
解决错误
要解决此错误,请将多数写入关注模式添加到副本集配置中。大多数写入关注确保在确认写入之前数据已写入大多数副本集成员。
示例连接字符串
以下连接字符串包括大多数写入关注点:
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 中的'未找到名为'majority”的写入关注模式”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!