qiyadeng

          專注于Java示例及教程
          posts - 84, comments - 152, trackbacks - 0, articles - 34

          Java和MongoDB之Hello World

          Posted on 2013-03-19 22:17 qiyadeng 閱讀(2206) 評論(0)  編輯  收藏

          1.新建Project

          新建Java Project,并把mongo-java-driver驅(qū)動加入到項(xiàng)目bulid path中,如果你使用的是maven增加依賴。


                <dependency>
                    
          <groupId>org.mongodb</groupId>
                    
          <artifactId>mongo-java-driver</artifactId>
                    
          <version>2.10.1</version>
                
          </dependency>

          2.連接上MongoDB

          //>2.10版本
          MongoClient mongo = new MongoClient( "localhost" , 27017 );

          //老版本  
          Mongo mongo = new Mongo("localhost"27017);

          如果需要驗(yàn)證,需要輸入用戶名和密碼


              MongoClient mongoClient = new MongoClient();
              DB db 
          = mongoClient.getDB("database name");
              
          boolean auth = db.authenticate("username""password".toCharArray());
          3.MongoDB數(shù)據(jù)庫

          得到MongoDB中的數(shù)據(jù)庫,如果數(shù)據(jù)庫名不存在,MongoDB會自動創(chuàng)建


          DB db = mongo.getDB("database name");
          顯示所有的數(shù)據(jù)庫
              List<String> dbs = mongo.getDatabaseNames();
              
          for(String db : dbs){
                  System.out.println(db);
              }
          4.MongoDB Collection(MongoDB表)

          得到數(shù)據(jù)庫中的表

              DB db = mongo.getDB("testdb");
              DBCollection table 
          = db.getCollection("user");
          顯示數(shù)據(jù)庫中的所有表
              DB db = mongo.getDB("testdb");
              Set
          <String> tables = db.getCollectionNames();
           
              
          for(String coll : tables){
                  System.out.println(coll);
              }
          5.插入、查找、更新、刪除操作

          插入數(shù)據(jù),向Collection(表)中插入一個Document

              DBCollection table = db.getCollection("user");
              BasicDBObject document 
          = new BasicDBObject();
              document.put(
          "name""qiyadeng");
              document.put(
          "age"30);
              document.put(
          "createdDate"new Date());
              table.insert(document);
          更新Document中的name="qiyadeng.com"
          	
              DBCollection table = db.getCollection("user");

               BasicDBObject query 
          = new BasicDBObject();
              query.put(
          "name""qiyadeng");

              BasicDBObject newDocument 
          = new BasicDBObject();
              newDocument.put(
          "name""qiyadeng.com");

              BasicDBObject updateObj 
          = new BasicDBObject();
              updateObj.put(
          "$set", newDocument);
           
              table.update(query, updateObj);
          從Collection中查找name="qiyadeng.com"的Document
              DBCollection table = db.getCollection("user");
           
              BasicDBObject searchQuery 
          = new BasicDBObject();
              searchQuery.put(
          "name""qiyadeng.com");
           
              DBCursor cursor 
          = table.find(searchQuery);
           
              
          while (cursor.hasNext()) {
                  System.out.println(cursor.next());
              }
          刪除name="qiyadeng"的Document
              DBCollection table = db.getCollection("user");
           
              BasicDBObject searchQuery 
          = new BasicDBObject();
              searchQuery.put(
          "name""qiyadeng.com");
           
              table.remove(searchQuery);

          6.完整的例子
          package com.qiyadeng.mongodb;


          import java.util.Date;

          import com.mongodb.BasicDBObject;
          import com.mongodb.DB;
          import com.mongodb.DBCollection;
          import com.mongodb.DBCursor;
          import com.mongodb.MongoClient;

          public class MongoDBSample {

              
          public static void main(String[] args) throws Exception{
                       
                      
          /**** Connect to MongoDB ****/
                      
          //2.10.0后,使用MongoClient
                      MongoClient mongo = new MongoClient("localhost"27017);
                   
                      
          /**** Get database ****/
                      
          // if database doesn't exists, MongoDB will create it for you
                      DB db = mongo.getDB("testdb");
                   
                      
          /**** Get collection / table from 'testdb' ****/
                      
          // if collection doesn't exists, MongoDB will create it for you
                      DBCollection table = db.getCollection("user");
                   
                      
          /**** Insert ****/
                      
          // create a document to store key and value
                      BasicDBObject document = new BasicDBObject();
                      document.put(
          "name""qiyadeng");
                      document.put(
          "age"30);
                      document.put(
          "createdDate"new Date());
                      table.insert(document);
                   
                      
          /**** Find and display ****/
                      BasicDBObject searchQuery 
          = new BasicDBObject();
                      searchQuery.put(
          "name""qiyadeng");
                   
                      DBCursor cursor 
          = table.find(searchQuery);
                   
                      
          while (cursor.hasNext()) {
                          System.out.println(cursor.next());
                      }
                   
                      
          /**** Update ****/
                      
          // search document where name="qiyadeng" and update it with new values
                      BasicDBObject query = new BasicDBObject();
                      query.put(
          "name""qiyadeng");
                   
                      BasicDBObject newDocument 
          = new BasicDBObject();
                      newDocument.put(
          "name""qiyadeng.com");
                   
                      BasicDBObject updateObj 
          = new BasicDBObject();
                      updateObj.put(
          "$set", newDocument);
                   
                      table.update(query, updateObj);
                   
                      
          /**** Find and display ****/
                      BasicDBObject searchQuery2 
                          
          = new BasicDBObject().append("name""qiyadeng.com");
                   
                      DBCursor cursor2 
          = table.find(searchQuery2);
                   
                      
          while (cursor2.hasNext()) {
                          System.out.println(cursor2.next());
                      }
              }
          }


          輸出

          "_id" : { "$oid" : "51444c88874c79654063356b"} , "name" : "qiyadeng" , "age" : 30 , "createdDate" : { "$date" : "2013-03-16T10:42:16.555Z"}}
          "_id" : { "$oid" : "51444c88874c79654063356b"} , "age" : 30 , "createdDate" : { "$date" : "2013-03-16T10:42:16.555Z"} , "name" : "qiyadeng.com"}

          使用mongo驗(yàn)證創(chuàng)建的數(shù)據(jù)庫testdb,collection user是否存在。


          原創(chuàng)文章,轉(zhuǎn)載請注明: 轉(zhuǎn)載自http://www.qiyadeng.com/

          本文鏈接地址: Java和MongoDB之Hello World




          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 阿拉善盟| 南丹县| 玛沁县| 吴江市| 盘山县| 陇川县| 崇义县| 青铜峡市| 新野县| 万州区| 杂多县| 阳城县| 大庆市| 宝鸡市| 乐都县| 太保市| 容城县| 和政县| 黔西| 太仆寺旗| 当涂县| 时尚| 江津市| 上饶市| 宁国市| 天津市| 宁安市| 宁强县| 宜春市| 高阳县| 红原县| 政和县| 嵩明县| 德州市| 称多县| 宜兰市| 全南县| 祁门县| 东源县| 安阳县| 莆田市|