MongoDB基于Java、PHP的一般操作和用户安全设置

数据库 其他数据库 MongoDB
本文原名《NoSQL数据库:MongoDB安装、启动和基于JAVA、PHP的一般操作和用户安全设置》,实际上介绍安装的文章已经很多了,故截取文中“基于Java、PHP的一般操作和用户安全设置”的部分,和大家分享。

用JAVA语言操作MongoDB

在官方网站中下载mongo.jar,并添加到项目中。

创建类MongoDBTest.java

可以使用如下两种方式得到数据库连接对象:

  1. Mongo m1 = new Mongo();//默认本机连接 
  2. Mongo m2 = new Mongo("localhost"27017);//连接地址,端口号 

在创建连接对象之后,得到数据库:

  1. DB db = m.getDB("admin");//数据库名称:admin  如果数据库不存在 则自动创建  

在得到数据库对象之后,得到表:

  1. DBCollection dbc = db.getCollection("things");//数据库admin下的表things   如没有此表 则自动创建  

mongoDB基于JAVA语言的CRUD  ---

1.添加数据:

  1. DBObject o = new BasicDBObject();//创建一个对象 
  2. o.put("name""iteye");//添加一个键值对 
  3. o.put("myname""xiao9");//再添加一个键值对 
  4.  
  5. dbc.insert(o);//插入数据 

 2.查询数据

  1. DBCursor c = dbc.find();//查询所有列表 
  2. List<DBObject> list = c.toArray(); 
  3. for (int i = 0; i <list.size(); i++) { 
  4.     DBObject dbo = list.get(i); 
  5.     System.out.println(dbo.toString()); 
  1. DBObject o = new BasicDBObject(); 
  2. o.put("name""iteye"); 
  3.  
  4. DBCursor c = dbc.find(o);//根据条件查询列表   (name=iteye) 
  1. DBObject o = dbc.findOne();//查询第一个数据 
  1. DBObject o = new BasicDBObject(); 
  2. o.put("name""iteye"); 
  3.  
  4. DBObject o = dbc.findOne(o);//根据条件查询单个数据 

 3.修改数据

  1. DBObject queryObject = new BasicDBObject(); 
  2. queryObject.put("name""iteye"); 
  3.  
  4. DBObject obj = new BasicDBObject(); 
  5. queryObject.put("name""iteye123"); 
  6.              
  7. dbc.update(queryObject, obj);//查询条件,要修改的值 

 4.删除数据

  1. DBObject obj = new BasicDBObject(); 
  2. queryObject.put("name""iteye123"); 
  3.              
  4. dbc.remove(obj);//根据条件删除数据 

用PHP语言操作MongoDB

  1. <?php 
  2.  
  3. //得到MongoDB连接 
  4. $m = new Mongo(); 
  5.  
  6. //选择数据库comedy 
  7. $db = $m->comedy; 
  8.  
  9. //选择一个表  如没有此表则自动创建 
  10. $collection = $db->cartoons; 
  11.  
  12. //创建一个对象 
  13. $obj = array"title" => "Calvin and Hobbes""author" => "Bill Watterson" ); 
  14.  
  15. //插入对象到数据库 
  16. $collection->insert($obj); 
  17.  
  18. //创建一个对象 
  19. $obj = array"title" => "XKCD""online" => true ); 
  20.  
  21. //插入对象到数据库 
  22. $collection->insert($obj); 
  23.  
  24. //查询所有该表中的对象 
  25. $cursor = $collection->find(); 
  26.  
  27. //进行遍历和输出 
  28. foreach ($cursor as $obj) { 
  29.     echo $obj["title"] . "\n"
  30.  
  31.  
  32. //PHP也支持这种得到单个对象的API 
  33. $obj = $collection->findOne(); 
  34. var_dump( $obj ); 
  35.  
  36. //也可以进行循环插入 
  37. for($i=0; $i<100; $i++) { 
  38.     $collection->insert( array"i" => $i ) ); 
  39.  
  40. //输出表中所有数据的数量 
  41. echo $collection->count(); 
  42.  
  43. //PHP的条件查询 
  44. $query = array"i" => 71 ); 
  45. $cursor = $collection->find( $query ); 
  46.  
  47. while$cursor->hasNext() ) { 
  48.     var_dump( $cursor->getNext() ); 
  49.  
  50. //索引的建立 
  51. $coll->ensureIndex( array"i" => 1 ) );  // create index on "i" 
  52. $coll->ensureIndex( array"i" => -1, "j" => 1 ) );  // index on "i" descending, "j" ascending 
  53.  
  54. ?>  

#p#

对于MongoDB的安全设置,用户密码策略

MongoDB默认是不要求用户名和密码登陆的,这样并不安全,接下来就要设置登陆账号密码了。

(1)控制台设置用户密码和控制台通过用户密码访问MongoDB

1. 启动MongoDB服务器

  1. cd d: 
  2. cd mongodb\bin 
  3. mongod --dbpath data 

2. 打开一个新的CMD运行

  1. cd d: 
  2. cd mongodb\bin 
  3. //打开mongodb数据库操作 
  4. mongo.exe 
  5. //使用admin库 
  6. use admin; 
  7. //添加登陆账号:user1   密码pwd1 
  8. db.addUser('user1','pwd1'); 
  9. //查看是否设置成功 
  10. //db.system.users.find(); 

3. 关闭MongoDB服务器,并使用验证模式 ( auth )重新启动

  1. cd d: 
  2. cd mongodb\bin 
  3. mongod --dbpath data --auth 

接下来在通过CMD运行Mongodb的时候 就需要

  1. cd d: 
  2. cd mongodb\bin 
  3. mongo.exe 
  4. use admin; 
  5. //进行登陆验证,如果不通过,是没有操作权限的了。 
  6. db.auth('user1','pwd1'); 

(2)JAVA方式通过用户密码访问MongoDB

  1. Mongo m = new Mongo(); 
  2.          
  3. DB db = m.getDB("admin"); 
  4.          
  5. char[] pwd_char = "pwd1".toCharArray(); 
  6.          
  7. boolean auth = db.authenticate("user1",pwd_char);//登陆验证,成功之后才能进行有效操作 
  8.  
  9. if(!auth){ 
  10.     throw new RuntimeException(); 

(3)PHP方式通过用户密码访问MongoDB

  1. //PHP是直接在获取连接对象时就进行配置了 
  2. //mongodb://账号:密码@连接地址 
  3.  
  4. $m = new Mongo("mongodb://user1:pwd1@localhost"); 

原文链接:http://xiao9.iteye.com/blog/1119003

【编辑推荐】

  1. 教你如何利用MySQL学习MongoDB
  2. 说说MongoDB的基础
  3. 如何用Java操作MongoDB
  4. 如何用Java操作MongoDB
责任编辑:艾婧 来源: 小萌爱coding
相关推荐

2010-03-31 09:51:38

CentOS系统

2011-07-12 16:27:13

PHP

2020-06-09 08:09:07

机器学习统计学习无监督学习

2009-12-16 10:52:47

PSP无线路由设置

2020-04-26 17:04:18

Python代码数据

2009-11-13 09:49:49

Linux耗电Linux调控器

2018-01-08 15:07:15

java项目后台

2017-08-31 14:09:26

数据库MySQLSQL优化

2011-09-08 11:35:18

2010-10-08 14:23:08

MySQL中INSER

2024-03-01 09:03:49

LinkedLisJavaList

2024-02-22 08:59:41

JavaArrayListLinkedList

2009-11-23 09:45:46

CentOSLinux

2010-09-14 10:55:14

DIV CSS网页制作

2012-06-27 09:29:49

程序员

2019-06-05 15:23:09

Redis缓存存储

2021-08-19 09:16:29

MySQL数据库优化器

2021-08-16 08:42:31

MySQL查询数据库

2023-07-27 08:34:57

软件迭代管理

2022-04-02 15:08:54

API调试
点赞
收藏

51CTO技术栈公众号