Я недавно начал изучать Go, и пока он мне очень нравится. Я хотел бы узнать, как создать REST API с драйвером mgo
Mongo.
На сайте есть три API: mgo
, mgo/bson
, mgo/txn
. Что они имеют в виду?
Я недавно начал изучать Go, и пока он мне очень нравится. Я хотел бы узнать, как создать REST API с драйвером mgo
Mongo.
На сайте есть три API: mgo
, mgo/bson
, mgo/txn
. Что они имеют в виду?
Даршан прав: на веб-сайте проекта есть хорошие ссылки на эти детали. В частности, вы можете найти ссылки на API пакетов mgo, mgo/bson и mgo /txn
Просто предоставим краткий обзор каждого из пакетов, поскольку он отсутствует на веб-странице (я должен это исправить):
Это сам драйвер MongoDB. Если вы хотите общаться с базой данных MongoDB, это пакет для начала. Взгляните на функцию mgo.Dial и пример в веб-сайт проекта.
Этот пакет реализует маршалинг и демаршалинг документов BSON в соответствии с спецификацией BSON. Он не зависит ни от одного из двух других пакетов и может использоваться сам по себе, когда кто-то хочет просто сериализовать/десериализовать документы в этом формате по какой-либо причине.
Пакет mgo
использует его для реализации всех функций маршалинга и демаршалинга, поэтому детали, которые вы найдете в документации пакета mgo/bson
с точки зрения тегов полей и т. д., действительны и при работе с пакетом mgo
.
Этот пакет реализует специфичную для mgo поддержку многодокументных транзакций для МонгоБД. Он реализует свою функциональность поверх пакета mgo
, и ни один из двух других пакетов не зависит от него. Если вы только начинаете использовать MongoDB, скорее всего, вам не нужен этот пакет.
Это не три отдельных API; это один модульный API. mgo
— это основной пакет. mgo/bson
— это реализация BSON. mgo/txn
поддерживает транзакции с несколькими документами.
Вы бы начали с простого использования mgo
и добавили любой из подпакетов, если вам нужны функции, которые они предоставляют. На главной странице mgo есть пример кода, демонстрирующий использование.