1.linux下启动一个服务 ./mongod --dbpath="/usr/local/mongodbdata/test/" --logpath="/usr/local/mongodblog/m11.log" --port 27017 --fork
启动后客户端连接:./mongo
2.显示所有数据库:show dbs; 使用数据库: use test; 查看当前:db 查看帮助:db.help();
创建数据库(隐式):直接 use shop;
删除数据库:删除前先使用db看一下在哪个数据库,然后 直接执行db.dropDataBase();
创建集合:db.createCollection("jihe_name"); 经常使用隐式创建:db.jihe_name.insert({name:"test"});
删除集合:db.jihe_name.drop();
集合里插入文档(一条记录(数据)):db.jihe_name.insert({name:"zhangsan",age:23});
集合里:db.jihe_name.find();查出的结果中,_id做为文档的唯一标识,是可能手动指定的:db.jihe_name.insert({_id:3,name="zhangsan"});
集合里删除一个文档:db.jihe_name.remove({条件key:条件value});
集合里修改一个文档:db.jihe_name.update({id:3},{$set:{name:"zhangsan111"}},1,1); //第三个参数如果为1:如果记录存在,则更新,不存在则新增 ;第4个参数为1:符合条件的金条记录全都更新,如果为0,则只更新1条
集合里自动增1:db.jihe_name.update({条件},{$inc:{age:1}});
集合里删除某个字段:db.jihe_name.update({条件},{$unset:{address:1},0,1});
集合里查找全部:db.jihe_name.find(条件);
集合里查找特殊的列:db.jihe_name.find({条件},{age:0}); 则age字段不显示
集合里大于小于。。。:db.jihe_name.find({field:{$gt:value}}); $lt $gte $lte $ne
集合里in:db.jihe_name.find({age:{$in:[1,2,3,4]}}); //$nin
集合里or:db.jihe_name.find({$or:[{name:"user2"},{age:3}]}); //$nor
集合里存在某字段name:db.jihe_name.find({name:{$exists:1}});
集合里查找第一个:db.jihe_name.findOne();
集合里统计:db.jihe_name.find().count();
集合里排序:db.jihe_name.find().sort({age:1}); //1:升序,-1:降序
集合里分页:db.jihe_name.find().sort({条件}).skip().limit();
创建普通索引,使用命令 db.collection.ensureIndex({key:1})
查看关于索引的相关信息,使用命令 db.collection.stats()
查看查询使用索引的情况,使用命令 db.collection.find({key:value}).explain()
删除索引,使用命令 db.collection.dropIndex({key:1})
删除集合,也会将集合中的索引全部删除
创建唯一索引,使用命令 db.collection.ensureIndex({key:1},{unique:true})
查看关于索引的相关信息,使用命令 db.collection.stats()
查看查询使用索引的情况,使用命令 db.collection.find({key:value}).explain()
删除索引,使用命令 db.collection.dropIndex({key:1})
删除集合,也会将集合中的索引全部删除
固定集合
db.createCollection(“collectionName”,{capped:true,size:100000,max:100});
size指定集合大小,单位为KB,max指定文档的数量
备份和恢复
MongoDB提供了备份和恢复的功能,分别是MongoDB下载目录下的mongodump.exe和mongorestore.exe文件
备份数据使用下面的命令:
>mongodump -h dbhost -d dbname -o dbdirectory
-h:MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
-d:需要备份的数据库实例,例如:test
-o:备份的数据存放位置,例如:c:\data\dump,当然该目录需要提前建立,在备份完成后,系统自动在dump目录下建立一个test目录,这个目录里面存放该数据库实例的备份数据。
恢复数据使用下面的命令:
>mongorestore -h dbhost -d dbname -directoryperdb dbdirectory
-h:MongoDB所在服务器地址
-d:需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
-directoryperdb:备份数据所在位置,例如:c:\data\dump\test
导入和导出
导出数据可以使用命令:
mongoexport -h dbhost -d dbname -c collectionName -o output
参数说明:
-h 数据库地址
-d 指明使用的库
-c 指明要导出的集合
-o 指明要导出的文件名
导入数据可以使用命令:
mongoimport -h dbhost -d dbname -c collectionname 文件的地址...
参数说明:
-h 数据库地址
-d 指明使用的库
-c 指明要导入的集合
在admin数据库中创建管理员账号:
use admin;
db.addUser(“root”,”root”);
在test数据库中创建普通账号:
use test;
db.addUser(“zhangsan”,”123”);
db.addUser(“lisi”,”123”,true);
注意:用户zhangsan,密码为123,对test数据库拥有读写权限
用户lisi,密码为123,对test数据库拥有只读权限
重新启动数据库服务,并开启安全检查:
mongod --dbpath d:\mongo_data --auth
posted on 2017-02-25 16:24
长春语林科技 阅读(137)
评论(0) 编辑 收藏 所属分类:
mongodb