Web开发学习手记(四):MongoDB及mgo

前言
在学习手记(三)中的实例——简单的用户系统中,使用了MongoDB管理用户数据。这篇文章记录我对MongoDB的学习内容与Go中的MongoDB库mgo的使用内容。由于接触到的内容有限,这篇文章也只会提及有限的部分。
MongoDB概述
MongoDB是一种非关系型数据库,具有高可扩展性且灵活易用。它将数据存储于一个文档中,其结构类似于JSON。
MongoDB的使用:mgo
Go语言中可以使用mgo库连接、操作MongoDB。
连接
可以使用mgo.Dial(url)来新建一个Session连接到MongoDB服务器。如果这里的url设置为空字符串,则连接本地默认端口。
指定数据库或集合
使用session.DB("database").C("collection")来指定数据库或集合。这会返回一个Database或Collection类型的值,可以使用其进行查询等操作。
查询
使用collection.Find(bson)来按照条件查询,其中bson可以用bson.M来创建。这会返回一个Query类型的值,应使用query.One()或query.All()来获得查询结果。对于接受查询结果的类型,应该使用反射标签bson来设置对应的key。
插入
使用collection.Insert(obj)来插入一个条目。插入的类型应该使用反射标签bson来设置对应的key。
