草庐IT

10gen-csharp-driver

全部标签

mongodb - mongo-go-driver 通过_id 查找文档

我正在尝试通过自动生成的_id字段查找文档。下面的代码不返回任何内容:vardocumentIDbson.RawValuedocumentID.Type=7documentID.Value=[]byte("5c7452c7aeb4c97e0cdb75bf")objID:=documentID.ObjectID()value:=collection.FindOne(ctx,bson.M{"_id":objID})我提供的值是我从MongoExpress得到的一个真实的文档id"_id":ObjectID("5c7452c7aeb4c97e0cdb75bf")如果您想知道我为什么要使用Ra

mongodb - 使用 mongo-go-driver 和接口(interface)将游标反序列化为数组

我使用golang创建了一个api,我想创建一些功能测试,为此我创建了一个接口(interface)来抽象我的数据库。但为此,我需要能够在不知道类型的情况下将游标转换为数组。func(self*KeyController)GetKey(cecho.Context)(errerror){varres[]dto.Keyerr=db.Keys.Find(bson.M{},10,0,&res)iferr!=nil{fmt.Println(err)returnc.String(http.StatusInternalServerError,"internalerror")}c.JSON(http.

mongodb - 如何使用 golang 和 mongo-go-driver 在 mongodb 中创建文本索引?

我正在尝试对一个集合进行全文搜索,但为此我需要创建一个文本索引。如何在两个字段上创建文本索引?我知道我必须使用这样的东西:opts:=options.CreateIndexes().SetMaxTime(10*time.Second)idxFiles:=[]mongo.IndexModel{{Keys:bsonx.Doc{{"name":"text"}},},}db.Collection("mycollection").Indexes().CreateMany(context,idx,opts) 最佳答案 我已经找到了解决方案:co

mongodb - 使用 mongo-go-driver 创建动态过滤器

我想用mongo-go-driver创建一个动态过滤器。例如,我有这个文档:{"_id":"5d1231380a2a2b39a99c3ed1"},"name":"flower.png","colors":["#ffffff","#212121","#999999","#dbdbdb","#ff5252"],},{"_id":"5d1231380a2a2b39a99c3ed0"},"name":"imageofgo.jpg","colors":["#dedede","#dfdfdf","#dddddd","#e0e0e0","#e2e2e2"],},{"_id":"5d1231380a2

go - 如何使用 mongo-driver 连接到其他包

我在gin框架中使用Mongo-driver。我已经在DB包中编写了连接mongodb的代码,如果我在db/connect.go中编写查询,它会工作,但是当我在其他包中使用相同的dbcon时,它不会'吨。db/connect.go:vardbcon*mongo.DatabasefuncConfigDB()(*mongo.Database){ctx:=context.Background()client,err:=mongo.Connect(ctx,options.Client().ApplyURI("mongodb://localhost:27017/todo"),)iferr!=ni

mongodb - go get mongo-go-driver 在 Dockerfile 中崩溃

我的Go服务有点问题。我是Go的新手,我只想对一个连接到mongodb实例的小服务进行docker化。我的代码在本地运行良好。所以这是我的Dockerfile:#buildstageFROMgolang:alpineASbuild-envRUNapkadd--no-cachegitADD..RUNgoget-v-ugo.mongodb.org/mongo-driverRUNgobuild-omongotest#finalstageFROMalpineWORKDIR/appCOPY--from=build-env./go/mongotest.RUNapkupdate&&apkaddca-

mongodb - 在 mongo-go-driver 中将 json 参数转换为 bson for UpdateOne

我正在尝试使用mongo-go-driver库的UpdateOne但此方法采用bson文档。我给它一个接口(interface)参数(json)。我的问题是找到将我的json请求解析为bson以动态更新字段的最佳方法。谢谢。func(sStore)Update(id`entercodehere`bson.D,dinterface{})(*mongo.UpdateResult,int32,string){upd:=bson.D{{"$inc",bson.D{d,},},}c,ctx,_:=getCollection(s.conn,s.dbName,s.collectionName)res

mongodb - mongo-go-driver 的 clientOptions 默认值是多少?

我试图为mongo-go-driver搜索clientOptions的默认值。我正在尝试通过以下方式启动新客户:opts:=options.ClientOptions{}opts.ApplyURI(connectionURI)sharedConnection,err=mongo.NewClient(&opts)我想知道一些clientOptions(例如ConnectTimeout、MaxPoolSize、MaxConnIdleTime)的默认值是多少。typeClientOptionsstruct{ConnectTimeout*time.DurationCompressors[]st

go - 如何计算 pprof 输出并避免 pprof 丢弃 cum 小于 0.10s 的节点

我试图弄清楚pprof如何计算我的Go应用程序输出中每个节点的%cum。我附上了我的pprofpng输出的一部分以强调我试图找出的问题pprofpngoutput在这部分pprof输出中有两个节点:节点A)运行时扫描对象-flat=1.06s%flat=5.54%cum=1.64s%cum=8.57%节点B)运行时findobject(被scanobject调用)-flat=0.46s%flat=2.4%cum=0.54s%cum=2.82%不管累积A是如何计算的,数字总和不等于funcAcumulative(1.64s):Aflat+Bflat=1.06s+0.46s=1.52sAf

arrays - [] byte {10}或[] byte(“\n”)与[] byte {92,110}

我正在使用github.com/tarm/serial来连接一些串行仪器。在开发过程中,我使用/dev/ttyp0和/dev/ptyp0对,其中go进程连接到一个,我使用screen连接到另一个。我编写了一个函数,它与serial.Config.ReadTimeout结合起来,最多可以读取ReadTimeout或接收到给定的字节序列。该功能是:funcreadToTermination(sserial.Port,termination[]byte,ratetime.Duration)[]byte{varout[]bytelterm:=len(termination)for{buf:=m