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。