用JAVA语言操作MongoDB

成都创新互联专注于丰宁企业网站建设,自适应网站建设,电子商务商城网站建设。丰宁网站建设公司,为丰宁等地区提供建站服务。全流程按需网站制作,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
在官方网站中下载mongo.jar,并添加到项目中。
创建类MongoDBTest.java
可以使用如下两种方式得到数据库连接对象:
- Mongo m1 = new Mongo();//默认本机连接
 - Mongo m2 = new Mongo("localhost", 27017);//连接地址,端口号
 
在创建连接对象之后,得到数据库:
- DB db = m.getDB("admin");//数据库名称:admin 如果数据库不存在 则自动创建
 
在得到数据库对象之后,得到表:
- DBCollection dbc = db.getCollection("things");//数据库admin下的表things 如没有此表 则自动创建
 
mongoDB基于JAVA语言的CRUD ---
1.添加数据:
- DBObject o = new BasicDBObject();//创建一个对象
 - o.put("name", "iteye");//添加一个键值对
 - o.put("myname", "xiao9");//再添加一个键值对
 - dbc.insert(o);//插入数据
 
2.查询数据
- DBCursor c = dbc.find();//查询所有列表
 - List
 list = c.toArray(); - for (int i = 0; i
 - DBObject dbo = list.get(i);
 - System.out.println(dbo.toString());
 - }
 
- DBObject o = new BasicDBObject();
 - o.put("name", "iteye");
 - DBCursor c = dbc.find(o);//根据条件查询列表 (name=iteye)
 
- DBObject o = dbc.findOne();//查询第一个数据
 
- DBObject o = new BasicDBObject();
 - o.put("name", "iteye");
 - DBObject o = dbc.findOne(o);//根据条件查询单个数据
 
3.修改数据
- DBObject queryObject = new BasicDBObject();
 - queryObject.put("name", "iteye");
 - DBObject obj = new BasicDBObject();
 - queryObject.put("name", "iteye123");
 - dbc.update(queryObject, obj);//查询条件,要修改的值
 
4.删除数据
- DBObject obj = new BasicDBObject();
 - queryObject.put("name", "iteye123");
 - dbc.remove(obj);//根据条件删除数据
 
用PHP语言操作MongoDB
- //得到MongoDB连接
 - $m = new Mongo();
 - //选择数据库comedy
 - $db = $m->comedy;
 - //选择一个表 如没有此表则自动创建
 - $collection = $db->cartoons;
 - //创建一个对象
 - $obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
 - //插入对象到数据库
 - $collection->insert($obj);
 - //创建一个对象
 - $obj = array( "title" => "XKCD", "online" => true );
 - //插入对象到数据库
 - $collection->insert($obj);
 - //查询所有该表中的对象
 - $cursor = $collection->find();
 - //进行遍历和输出
 - foreach ($cursor as $obj) {
 - echo $obj["title"] . "\n";
 - }
 - //PHP也支持这种得到单个对象的API
 - $obj = $collection->findOne();
 - var_dump( $obj );
 - //也可以进行循环插入
 - for($i=0; $i<100; $i++) {
 - $collection->insert( array( "i" => $i ) );
 - }
 - //输出表中所有数据的数量
 - echo $collection->count();
 - //PHP的条件查询
 - $query = array( "i" => 71 );
 - $cursor = $collection->find( $query );
 - while( $cursor->hasNext() ) {
 - var_dump( $cursor->getNext() );
 - }
 - //索引的建立
 - $coll->ensureIndex( array( "i" => 1 ) ); // create index on "i"
 - $coll->ensureIndex( array( "i" => -1, "j" => 1 ) ); // index on "i" descending, "j" ascending
 - ?>
 
#p#
对于MongoDB的安全设置,用户密码策略
MongoDB默认是不要求用户名和密码登陆的,这样并不安全,接下来就要设置登陆账号密码了。
(1)控制台设置用户密码和控制台通过用户密码访问MongoDB
1. 启动MongoDB服务器
- cd d:
 - cd mongodb\bin
 - mongod --dbpath data
 
2. 打开一个新的CMD运行
- cd d:
 - cd mongodb\bin
 - //打开mongodb数据库操作
 - mongo.exe
 - //使用admin库
 - use admin;
 - //添加登陆账号:user1 密码pwd1
 - db.addUser('user1','pwd1');
 - //查看是否设置成功
 - //db.system.users.find();
 
3. 关闭MongoDB服务器,并使用验证模式 ( auth )重新启动
- cd d:
 - cd mongodb\bin
 - mongod --dbpath data --auth
 
接下来在通过CMD运行Mongodb的时候 就需要
- cd d:
 - cd mongodb\bin
 - mongo.exe
 - use admin;
 - //进行登陆验证,如果不通过,是没有操作权限的了。
 - db.auth('user1','pwd1');
 
(2)JAVA方式通过用户密码访问MongoDB
- Mongo m = new Mongo();
 - DB db = m.getDB("admin");
 - char[] pwd_char = "pwd1".toCharArray();
 - boolean auth = db.authenticate("user1",pwd_char);//登陆验证,成功之后才能进行有效操作
 - if(!auth){
 - throw new RuntimeException();
 - }
 
(3)PHP方式通过用户密码访问MongoDB
- //PHP是直接在获取连接对象时就进行配置了
 - //mongodb://账号:密码@连接地址
 - $m = new Mongo("mongodb://user1:pwd1@localhost");
 
原文链接:http://xiao9.iteye.com/blog/1119003
【编辑推荐】
                本文题目:MongoDB基于Java、PHP的一般操作和用户安全设置
                
                网页路径:http://www.csdahua.cn/qtweb/news27/537977.html
            
网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网