我最近开始学习Go并且到目前为止非常喜欢它。我想学习如何使用mgo
Mongo驱动程序创建REST API。
在网站上,有三个API:mgo
,mgo/bson
,mgo/txn
。他们是什么意思?
答案 0 :(得分:4)
Darshan是对的:project website对这些细节有很好的参考。具体来说,您可以找到指向mgo,mgo/bson和mgo/txn
的包API的链接只是提供每个软件包的快速概述,因为网页上似乎没有这个(我应该修复它):
<强> labix.org/v2/mgo 强>
这是MongoDB驱动程序本身。如果您想与MongoDB数据库通信,那么这就是要开始的包。请查看mgo.Dial函数以及project website中的示例。
<强> labix.org/v2/mgo/bson 强>
此程序包遵循BSON specification实现BSON文档的编组和解组。它不依赖于任何其他两个包,并且当人们想要以任何原因简单地序列化/反序列化该格式的文档时,它可以单独使用。
mgo
包使用它来实现所有编组和解组功能,因此您在mgo/bson
包的文档中找到的字段标签等详细信息在使用时都是有效的mgo
包也是。
<强> labix.org/v2/mgo/txn 强>
此程序包实现了特定于mgo的multi-document transaction support for MongoDB。它在mgo
包之上实现其功能,而其他两个包都不依赖于它。如果你刚开始使用MongoDB,你很可能不需要这个软件包。
答案 1 :(得分:1)
它们不是三个独立的API;它是一个模块化的API。 mgo
是核心包。 mgo/bson
是BSON实施。 mgo/txn
支持多文档事务。
您首先只需使用mgo
并添加其中一个子包,如果您需要它们提供的功能。 mgo homepage上有示例代码,用于演示用法。