• Java和MongoDB之Hello World


    1.新建Project

    新建Java Project,并把mongo-java-driver驱动加入到项目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);

    如果需要验证,需要输入用户名和密码

        MongoClient mongoClient = new MongoClient();
        DB db = mongoClient.getDB("database name");
        boolean auth = db.authenticate("username", "password".toCharArray());

    3.MongoDB数据库

    得到MongoDB中的数据库,如果数据库名不存在,MongoDB会自动创建

    DB db = mongo.getDB("database name");

    显示所有的数据库

        List<String> dbs = mongo.getDatabaseNames();
        for(String db : dbs){
            System.out.println(db);
        }

    4.MongoDB Collection(MongoDB表)

    得到数据库中的表

        DB db = mongo.getDB("testdb");
        DBCollection table = db.getCollection("user");

    显示数据库中的所有表

        DB db = mongo.getDB("testdb");
        Set<String> tables = db.getCollectionNames();
     
        for(String coll : tables){
            System.out.println(coll);
        }

    5.插入、查找、更新、删除操作

    插入数据,向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验证创建的数据库testdb,collection user是否存在。

    转自:http://www.cnblogs.com/qiyadeng/archive/2013/03/19/2970131.html

  • 相关阅读:
    Frame Interpolation
    [ffmpeg] h.264解码所用的主要缓冲区介绍
    傅里叶变换的物理意义
    [ffmpeg] h264并行解码
    [ffmpeg] 多输入滤波同步方式(framesync)
    [ffmpeg] AVOption
    [ffmpeg] 定制滤波器
    [ffmpeg] 滤波格式协商
    [ffmpeg] 滤波
    [ffmpeg] 解码API
  • 原文地址:https://www.cnblogs.com/olmlo/p/3543684.html
Copyright © 2020-2023  润新知