草庐IT

Mongo-DB

全部标签

mongodb - $text 查询所需的 mongo-go-driver (IndexNotFound) 文本索引

我正在使用mongo-go-driver并尝试使用文本搜索我正在创建这样的索引opts:=options.CreateIndexes().SetMaxTime(10*time.Second)db.Collection("my_collection").Indexes().CreateMany(context.Background(),[]mongo.IndexModel{{Keys:bsonx.Doc{{"title",bsonx.Int32(-1)}},},{Keys:bsonx.Doc{{"info.tags",bsonx.Int32(-1)}},},},opts,)...在查询时

docker - 无法连接到 docker 容器中的数据库主机,从 api-service 到 db-service,以便在 golang 中使用 goose 进行迁移

goose是帮助我运行所有*sql文件并在数据库中运行查询的迁移工具。我想在我的api服务的docker容器中使用此工具自动执行迁移(创建表和其他内容)。问题是当docker运行命令“gooserun”时出现错误-gooserun:dialtcp:lookupdbon192.168.63.6:53:nosuchhost。docker-composeservices:db:build:./dbvolumes:-./db/pgdata:/pgdataimage:postgresports:-"5432"restart:alwaysenvironment:-POSTGRES_USER=use

html - 如何将 html 表单中的日期和时间输入类型存储到 sqlite3 DB 中

我正在个人助理应用程序中设置一个提醒功能。该应用程序接受提醒的详细信息作为html表单,其中还包括date和time输入字段。我正在使用golang创建我的服务器并使用它创建了一个sqlite数据库。但是表单中的日期和时间值不会保存在数据库中,而标题、描述等其他字段会被保存。我应该为sqlite数据库中的时间和日期字段使用什么数据类型?我试过使用TEXT作为日期和时间的数据类型,但它不起作用。输入形式:...DateTime...这是从表单生成的提醒对象:{title:"learngolang",description:"HowdoIsavedateandtimeindatabase?

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 - map[string]interface{} 自切换到新的 go mongo 驱动程序后未被正确解析

我正在切换到新的mongogo驱动程序(mongo-go-driver),远离mgo尽管解码方法没有改变(变成map[string]interface{}),但我们的一个函数不再工作我相信正在发生的事情是返回的数据没有作为map[string]接口(interface)正确处理{}摄取的数据是一个mongo聚合查询:result=map[query_key:procedure_on_citiesquery_type:runprocedurequery_value:map[aggregate:[map[£match:map[Source:Cities]]map[£sort:map[Ord

mongodb - Mongo DB 结果接口(interface)到 Golang 中的结构转换

我在尝试将interface{}转换为golang中的结构类型时收到此错误。接口(interface)转换:接口(interface){}是primitive.D,不是model.ClientModel。行错误:cm:=res.(model.ClientModel)res,err:=db.FindOne(collection,filter)iferr!=nil{fmt.Println(err)}fmt.Println(res)cm:=res.(model.ClientModel)fmt.Println(cm) 最佳答案 您可以.De

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