mongodb - 如何使用 go map 从 mongodb 检索非结构化形式的数据

标签 mongodb go mgo

我正在尝试使用 go map 检索数据。 mongo中的数据就像

"_id" : ObjectId("56bf128f5a9a6a0ebfdd5075"),
    "deadLine" : {
      "Start_time" : ISODate("2016-05-24T00:00:00Z"),
      "End_time" : ISODate("2016-05-29T00:00:00Z")
    },
    "taskData" : {
      "Task_content" : "Something",
      "Priority" : "3"
    },
    "group" : {
      "1" : {
      "grp_name" : "grp"
      },
      "2" : {
      "grp_name" : "secondGrp"
      }
    }

我想根据Priority 检索所有记录。

我试过的示例代码...

var m []bson.M
    err := collection.Find(bson.M{"taskData":bson.M{"Priority" : "2"}}).All(&m) // stuck here in `Find()`
    if err != nil {
        fmt.Println("Error : ",err)
    }else{
      fmt.Println("Map : ",m)
    }
  }

如果我使用 err := collection.Find(bson.M{"_id":bson.ObjectIdHex("56bf128f5a9a6a0ebfdd5075")}).All(&m) 然后它获取所有记录。 请纠正我的错误。

提前致谢

最佳答案

var m []bson.M
    err := collection.Find(bson.M{"taskData.Priority" : "2"}).All(&m) 
    if err != nil {
        fmt.Println("Error : ",err)
    }else{
      fmt.Println("Map : ",m)
    }
  }

这是描述 https://docs.mongodb.org/manual/tutorial/query-documents/#equality-match-on-fields-within-an-embedded-document

关于mongodb - 如何使用 go map 从 mongodb 检索非结构化形式的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35409153/

相关文章:

go - 我无法在 golang 中的两个 json 之间迭代?

go - 如何将 MongoDB 数据库传递给 GO 例程?

MongoDB 与 golang 错误 "no reachable servers"

node.js - mongoose 到 mongoDB 连接失败

mongodb - Mongodb查找条件: not exist

c++ - 编译 Mongodb 3.6.5 以插入到 Docker 镜像中

mongodb - 使用 mgo 部分更新 mongoDB 中的嵌入式文档

MongoDB 基于间隔分组

go - sync.WaitGroup - 为什么在 .wait() 之后出现一个 go 例程

go - 如何在golang中初始化接口(interface)数组?