1.在macos上安装mongodb,用homebrew
brew install mongodb
安装完成后要进行配置建立一个文件夹mongoData
mongoData
db:用来存放数据库文件
etc:用来存放mongodb配置文件mongo.conf
logs:用来存放日志文件mongo.log
mongo.conf为mongo的配置文件,内容如下
#数据库路径
dbpath=/Users/tugame/mongoData/db/
#日志输出文件路径
logpath=/Users/tugame/mongoData/logs/mongodb.log
#错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=false
#是否后台启动,有这个参数,就可以实现后台运行
fork=true
#端口号 默认为27017
port=27017
#指定存储引擎(默认不需要指定)
#storageEngine=mmapv1
#开启认证
auth=true
配置完成后启动mongodb服务
mongod -f /Users/tugame/mongoData/etc/mongo.conf
此处如果不加配置直接启动可能会出现一个错误:NonExistentPath: Data directory /data/db not found., terminating
这是因为这样对情况下,mongo使用的是自带的mongo.conf,而这个配置文件里的dbpath指向里/data/db,故而出错。
进入mongo客户端
mongo
若果要关闭mongodb服务
ps -ef | grep mongo
kill 进程号
2.使用golang来操作mongodb
golang操作mongodb有一个包mgo
获取mgo
go get gopkg.in/mgo.v2
go get labix.org/v2/mgo #二选一即可
mongodb的数据结构为
数据库-集合-文档
类比一下,集合相当于mysql里的表,文档相当与表里的行,这样就好理解了。
golang通过mgo来操作mongodb是通过获取会话session来操作的
const (URL="127.0.0.1:27017")
//获取session
session,err := mgo.Dial(URL)
//获取数据库
db := session.DB("数据库名")
//获取集合名
collection := db.C("集合名")
golang对mongodb进行增删改查
//增
Err := collection.Insert(“”)
//删
Err := collection.Remove(bson.M{“key”:”value”})
//改
Err := collection.Update(bson.M{“key”:”value”})
//查
err := collection.Find(bson.M{“key”:”value”})
如有错误,欢迎指正
参考文档:
mgo:https://godoc.org/labix.org/v2/mgo