先去mongodb官网下载mongod,配置好环境变量.最好也再下个robomongo,进行更好的图形界面管理
mongodb官方文档
mongodb中文文档
启动Mongod:
1
| mongod --dbpath /home/python/data/mongodb --logpath /home/python/data/log --auth
|
或者用配置文件的方式启动:
1 2 3 4 5 6
| mongod -f ./mongod.conf vim ./mongod.conf dbpath = /home/python/data/mongodb/ logpath = /home/python/data/log port = 27017 auth = true
|
进入Mongo的CLI:
1 2 3
| monogo -uusername -ppasswd 192.168.0.197:27017/db export LC_ALL=C
|
选择admin数据库,并认证:
1 2
| use admin db.auth('username','password')
|
指定好当前数据库后,用db命令查看,之后用密码登陆.
查看所有的数据库
创建或选定数据库
1 2
| use 1 db.dropDatabase('1')
|
创建集合(表),删除表,显示所有表
1 2 3
| db.createCollection('test') db.test.drop() show collections
|
创建文档(记录)
1
| db.test_table.insert({'1':1})
|
指定数据库,一定要先选定再创建,创建用户角色
1 2 3 4 5 6
| use test db.createUser( { user: "femn2014", pwd: "femn2014", roles: [ { role : "readWrite", db: "test" } ] });
|
role:”sysadmin”,”read”,”readWrite”,”sysadmin”和”root”角色只能在第一次创建一次,之后创建的必须是其它的角色,同时也要注意db:’xxx’要改变,如果指定的是admin数据库,则此用户可以看到所有的数据库,并只是针对db:’test’这个数据库有读写操作.
指定数据库之后,查看用户
一旦创建好用户之后,就必须要切换到admin数据库中,才能进行对用户角色的管理
用admin数据库,查看,管理所有数据库中的所有用户
1 2 3
| use admin db.system.users.find() db.system.users.remove({user:'femn2014'}) 删除用户
|
得到test表的索引
创建新的索引,此命令不会覆盖掉之前的索引
1
| db.test.ensureIndex({'mobile':1})
|
创建二维索引,通过查询location这个数组,来得到文档
1 2
| db.test.ensureIndex({"location" : "2d"},{"background" : true}, {min:-180,max:180})
|
MongoDB的Geospatial Indexing 2d默认取值范围[-179,-179]到[180,180] 包含这两个点,超出范围将报错
备份Mongo:
1 2 3
| mongodump --host=192.168.1.217 --port=27017 --username=username \ --password=passwd --authenticationDatabase admin -dMongodb \ -cfemn -o /home/python/nosql_dump
|
恢复Mongo:
1 2 3 4 5 6
| mongorestore -udba -pdba --host=60.205.140.13 --port=27017 \ --authenticationDatabase admin -dbozhongboyue -cvideo \ --drop /home/python/nosql_dump/1-5/bozhongboyue/video.bson mongoexport --host=192.168.1.217 --port=27017 --username=username \ --password=passwd --authenticationDatabase admin -dMongodb -cfemn -o femn.json
|