mgo API - mgo,mgo / bson,mgo / txn之间的区别

时间:2013-09-08 03:27:15

标签: mongodb go mgo

我最近开始学习Go并且到目前为止非常喜欢它。我想学习如何使用mgo Mongo驱动程序创建REST API。

在网站上,有三个API:mgomgo/bsonmgo/txn。他们是什么意思?

2 个答案:

答案 0 :(得分:4)

Darshan是对的:project website对这些细节有很好的参考。具体来说,您可以找到指向mgomgo/bsonmgo/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上有示例代码,用于演示用法。