草庐IT

mongodb 统计子文档并列出总计

全部标签

mongodb - 使用 gin-golang 将数据从 mongodb 显示到 html 页面?

我正在尝试检查MongoDB是否包含具有特定用户名和密码的数据。但是现在我得到的是所有数据而不是指定的数据。下面是我的代码:r.POST("/login",func(c*gin.Context){logedUser:=[]RegisterdUser{}name:=c.PostForm("userName")Password:=c.PostForm("userPassword")fmt.Println("insidecheckingsectionnnn",name,Password)session,err:=mgo.Dial("localhost:27017")iferr!=nil{pa

mongodb - REST API + MongoDb ISODate

我的GoLang结构:typemyPojostruct{IDbson.ObjectId`json:"id"bson:"_id,omitempty"`Starttime.Time`json:"start"`}POSTAPIJSON输入请求:{"Start":ISODate("2013-10-01T00:00:00.000Z")}我将输入JSON请求转换为Golang结构的代码:funcmyPostApi(whttp.ResponseWriter,r*http.Request,dbmongoDB){w.Header().Set("Content-Type","application/jso

mongodb - Golang MGO Group By multiple params 并按日期时间抓取最后一个

我正在使用Golang和MGO库我有一些测试记录,我想按序列号、阶段、阶段顺序进行分组,并按日期时间字段获取最后一条记录。大多数情况下,每个序列/阶段/阶段订单有1条记录,但也可能有多个测试的情况,我想获取最后完成的测试,而不是该组合的所有测试。所以,简而言之,我的表中有些记录具有相同的序列、阶段和阶段顺序,但时间戳不同,我想获取整个数据集的最后一条或唯一一条记录,以便我有一个记录每个(系列、阶段、阶段顺序)组合,如果有重复测试,我总是抓取该组中的最后一条记录。在上面的示例中,我只想取回该系列的第二条记录。我的代码:我试图创建一个管道,但似乎无法正确设置它:pipeline:=[]bs

mongodb - mgo $all 用一个数组查询一个数组并且不区分大小写?

我有一组动态的成分名称,并为每个用户提供。我想将它与mongo文档匹配,其中有一个名为ingredients的对象的array具有属性name。我已经编写了一个查询(见下文),它将从URL中获取查询参数,并将返回所有具有所有匹配成分名称的文档,但是此搜索区分大小写,我不希望这样。我考虑过将bson.RegEx与Option:"i"一起使用,但是我不确定如何形成此查询或将其应用于数组字符串。这里是区分大小写的查询://Checkforingredients,returnallrecipesthatcanbemadeusingsuppliedingredientsifqryPrms["in

mongodb - 执行 mgo.Pipe 没有结果,包括 $out

我正在尝试运行一个不返回任何结果的管道,因为最后一个管道运算符是$out。//{$out:"y"}pipeline:=DB.C("x").Pipe(stages).AllowDiskUse()result:=[]bson.M{}err:=pipeline.All(&result)运行管道时出现超时。我假设mgo正在等待结果被读取——永远。 最佳答案 已解决。不要调用All(&result),而是调用Iter()。All会在从一开始就为空的迭代器上调用Next,显然会导致超时。Iter返回一个迭代器,它将被丢弃。没有调用Next,没有

mongodb - 从 mongodb 中提取嵌套结构数据

结构如下typePersonstruct{IDbson.ObjectId`bson:"_id,omitempty"`Namestring`json:"name"`Phonestring`json:"phone"`}然后想把它嵌套在另一个结构中typeCustomerstruct{IDbson.ObjectId`bson:"_id,omitempty"`StoreNamestringPersonPerson`json:"persons"`}实例化为customer:=Customer{bson.NewObjectId(),"Seattle",p1}并插入到Mongo数据库中(我正在使用g

mongodb - 如何返回 ID 为

我有一个MongoDB集合,其中包含如下示例文档:我想做的(正如您从实际代码中看到的那样)是更新members.x.role中的一个role字段,其中members.x.id等于给定的ID(ID是UUID,所以它是唯一的;这部分代码可以正常工作)然后我想返回那个members.x。但问题是它总是返回第一个成员而不是刚刚更新的那个。我已经尝试了mgo的一些方法并发现Distinct()最接近我的期望,但它并没有像我想要的那样工作。我的问题是如何返回具有指定ID的member嵌入文档?我已经看过this和this但这对我没有帮助。func(rMongoRepository)UpdateMe

mongodb - 使用 MongoDB 和 Golang 通过聚合和查找查找重复项

我需要使用MongoDB和Golang进行聚合和查找来查找重复项。这是我的Event结构。//EventdescribesthemodelofanEventtypeEventstruct{IDstring`bson:"_id"json:"_id"valid:"alphanum,printableascii"`OldIDstring`bson:"old_id"json:"old_id"valid:"alphanum,printableascii"`ParentIDstring`bson:"_parent_id"json:"_parent_id"valid:"alphanum,printa

mongodb - Bson接口(interface)有一些问题

我使用带有mgo(gopkg.in/mgo.v2)包的MongoDBv3.6.4贝森varidinterface{}id=249678041972736bson.M{"_id":id}varidint64id=249678041972736bson.M{"_id":id}两个bson不一样?例如:funcGetUser(idinterface{})(*User,error){session:=MongoDB()defersession.Close()varm*Usererr:=session.DB.C("user").Find(&bson.M{"_id":id}).One(&m)//!

mongodb - 在 ObjectId 字段上的两个集合之间进行 $lookup 查询

我正在Go1.9.2中使用mongoDB3.4开发一个api我正在使用mgo作为驱动程序。在将请求及其结果插入具有两个集合的同一个数据库后,我必须做一个端点来获取请求的结果。有两个集合:第一个集合:请求第二个集合:结果requests集合的格式为{"_id":ObjectId("5afc034f53c9a77a598c8345")"time":"2018-05-1610:08:35.024352907+0000UTCm=+23.407317980""param_request":[name:"mike",age:"30",job:"Doctor"]}results集合的格式id_req