我正在尝试使用 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) 然后它获取所有记录。请纠正我的错误。
1 回答
陪伴而非守候
TA贡献1757条经验 获得超8个赞
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
- 1 回答
- 0 关注
- 191 浏览
添加回答
举报
0/150
提交
取消
