gpt4 book ai didi

database - 如何在 mongo-go-driver 中添加选项 `writeConcern`?

转载 作者:数据小太阳 更新时间:2023-10-29 03:10:29 25 4
gpt4 key购买 nike

我不明白如何使用 mongo-go-driver 为 MongoDB 添加记录参数

示例请求

c.client.Database(MONGO_DATABASE).Collection(*packet.ID).InsertMany(nil, packet.Item, opt)

如何在opt中指定必要的参数?

最佳答案

版本 1.0

在 MongoDB Go 驱动程序生产版本中,您可以如下设置 writeConcern:

import (    
"go.mongodb.org/mongo-driver/mongo/options"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/mongo"
"go.mongodb.org/mongo-driver/mongo/writeconcern"
)

mongoURI := "mongodb://server:port/"
opts := options.Client().ApplyURI(mongoURI).SetWriteConcern(writeconcern.New(writeconcern.WMajority()))

client, err := mongo.NewClient(opts)
if err != nil {
panic(err)
}
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
err = client.Connect(ctx)
if err != nil {
panic(err)
}

collection := client.Database("database").Collection("collection")

另见:

版本 0.0.16

使用 mongo-go-driver , 你可以设置一个 write concern选项如下例:

import(
"github.com/mongodb/mongo-go-driver/bson"
"github.com/mongodb/mongo-go-driver/core/writeconcern"
"github.com/mongodb/mongo-go-driver/mongo"
"github.com/mongodb/mongo-go-driver/mongo/collectionopt"
)

// Example document
document := bson.VC.DocumentFromElements(
bson.EC.SubDocumentFromElements(
"foo",
bson.EC.Int32("bar", 101),
),
)

// Set majority write concern
wMajority := writeconcern.New(writeconcern.WMajority())

database := client.Database("database")
collection := database.Collection("collection", collectionopt.WriteConcern(wMajority))

_, err = collection.InsertOne(context.Background(), document)

也可以使用 W(int) 来指定任意数量的 mongod 实例。查看更多writeconcern/writeconcern.go

关于database - 如何在 mongo-go-driver 中添加选项 `writeConcern`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52777761/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com