您可以使用通用映射,例如:
var result map[string]interface{}err := collection.Find(query).One(&result)您会发现使用的人
bson.M,这也是具有相同基础类型的地图。不过
bson.M,没有什么特别的。它只是地图的简称和便捷名称。您可以创建自己的方便名称,也可以使用上面的示例中的普通地图。
在没有定义架构的情况下访问文档的另一种方法是
bson.D代替上面的地图类型。
bson.D当文档中的元素顺序相关时,或者如果您想稍微减少操作开销(由于地图的性质,处理地图会稍微贵一些)时,此功能最有用。该
bson.D类型是带有键/值对的结构值的一部分。与不同
bson.M,它
bson.D是特殊的,并由mgo
/ bson软件包内部处理。



