草庐IT

mongodb-3.3

全部标签

mongodb - 在 MongoDB 中基于 ID 对两个集合执行连接

我有两个集合:评分和预订。在预订集合中,我有一个字段“_id”,它是正常的文档ID。我还在预订集合中保存了一个字段“location_id”。在收视率收集中,我将预订的ID引用为“booking_id”字段。查询1:我想根据“location_id”计算评分,这意味着首先我需要根据location_id获取预订,然后我需要找到该预订的评分(位置为“location_id”).为此,我通过像这样聚合两个集合来执行MongoDB连接:getCollection:=mongoSession.DB(config.Database).C(config.RatingsCollection)pipe

mongodb - 使用 golang 从已经运行的集群的主实例重播另一个 mongodb 实例中的 oplog

我正在以json格式存储来自正在运行的主要mongodb实例的操作日志[{"Timestamp":6477723955623886852,"HistoryID":166676398345289971,"MongoVersion":2,"Operation":"i","NameSpace":"test.tests","Object":{"__v":0,"_id":"59e57f9e8489535b1848d32d","num":9795},"QueryObject":null},{"Timestamp":6477723955623886853,"HistoryID":3344156456

mongodb - Golang mgo 获取空对象

我正在尝试学习GoAPI开发。我有一个在Docker容器中运行的MongoDB实例。我正在尝试遵循一些指南,但在简单查询时失败了。我不完全理解这里的BSON和JSON标签的使用。我知道这些术语的意思。所以这是我的代码。import("fmt""time""gopkg.in/mgo.v2/bson")const(hosts="localhost:27017"database="my_database"username="dev1"password="password123"collection="users")typeusersstruct{userstring`bson:"user"j

mongodb - 使用 Gin 和 JobRunner

我正在使用JobRunner用于我的Golang项目的调度程序和Gin-gonic框架。我已经尝试过这个包并且它有效。问题是,当我想连接到我的数据库时,我无法访问调度函数中的gin上下文funcScheduleUrl(){jobrunner.Start()//optional:jobrunner.Start(poolint,concurrentint)(10,1)jobrunner.Schedule("@every20s",CheckExpiredUrl{})}//JobSpecificFunctionstypeCheckExpiredUrlstruct{//filtered}//Re

mongodb 聚合在 golang 中给出错误

我想要分组方法类型并根据它们的类型对它们进行计数。这些方法是字符串。我写了下面的代码。但是它给出了一个错误。pipeline:=[]bson.D{bson.D{{"$unwind","$method"},},bson.D{{"$group",bson.M{"_id":"$method","count":bson.M{"$sum":1}}},},query:=bson.D{{"aggregate","API_ACCESS_LOGS"},//useragentsisacollectionname{"pipeline",pipeline},}err=session.DB("vamps-log

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,没有