posts - 247,  comments - 25,  trackbacks - 0
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 林的 阅读(52) 评论(0)  编辑  收藏 所属分类: mongodb

只有注册用户登录后才能发表评论。


网站导航:
 
<2017年2月>
2930311234
567891011
12131415161718
19202122232425
2627281234
567891011

想回家了,呵呵!

常用链接

留言簿(6)

随笔分类

随笔档案

文章分类

文章档案

相册

收藏夹

搜索

  •  

最新评论

阅读排行榜

评论排行榜