MangoDB 实例

来源:互联网 发布:国外科学网站知乎 编辑:程序博客网 时间:2024/05/18 16:40

maven:

<!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->        <dependency>            <groupId>org.mongodb</groupId>            <artifactId>mongo-java-driver</artifactId>            <version>3.2.0</version>        </dependency>

MongoDBJDBC:

Java代码:

/* * Creation : 2016年7月19日 */package com.mongoDB;import java.util.ArrayList;import java.util.List;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;import com.mongodb.client.model.Filters;/** * The Class MongoDBJDBC. *  * @author XIN XIU CAN */public class MongoDBJDBC {    public static void main(String args[]) {        try {            // 连接到 mongodb 服务            MongoClient mongoClient = new MongoClient("localhost", 27017);            // 连接到数据库            MongoDatabase mongoDatabase = mongoClient.getDatabase("xin");            System.out.println("Connect to database successfully");            // 创建集合            // mongoDatabase.createCollection("test");            MongoCollection<Document> collection = mongoDatabase.getCollection("xin");            // 查询所有文档            FindIterable<Document> findIterable = collection.find();            for (Document o : findIterable) {                System.out.println(o);            }            FindIterable<Document> finds = collection.find(Filters.eq("likes", 100));            System.out.println("-----------------------------star------------------------------");            for (Document o : finds) {                System.out.println(o);            }            System.out.println("-----------------------------end------------------------------");            // 插入文档            Document document1 = new Document("title", "MongoDB111").append("description", "database111").append("likes", 100).append("by", "Fly");            Document document2 = new Document("title", "MongoDB222").append("description", "database222").append("likes", 100).append("by", "Fly");            List<Document> documents = new ArrayList<Document>();            documents.add(document1);            documents.add(document2);            collection.insertMany(documents);            Document doc = new Document("name", "xin").append("age", "21").append("sex", "men").append("address", "ShangHai")                    .append("English", "ECT4");            collection.insertOne(doc);            // 更新文档            // 更新文档 将文档中likes=100的文档修改为likes=200            collection.updateMany(Filters.eq("name", "hoojo"), new Document("$set", new Document("name", "Johnny")));            // 删除符合条件的第一个文档            collection.deleteOne(Filters.eq("age", 25));            // 删除所有符合条件的文档            collection.deleteMany(Filters.eq("age", 200));            findIterable = collection.find();            MongoCursor<Document> mongoCursor = findIterable.iterator();            while (mongoCursor.hasNext()) {                System.out.println(mongoCursor.next());            }            System.out.println(collection.find().first().toJson());        } catch (Exception e) {            System.err.println(e.getClass().getName() + ": " + e.getMessage());        }    }}

运行结果:


2016-7-20 10:26:07 com.mongodb.diagnostics.logging.JULLogger log信息: Cluster created with settings {hosts=[localhost:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}Connect to database successfully2016-7-20 10:26:07 com.mongodb.diagnostics.logging.JULLogger log信息: No server chosen by ReadPreferenceServerSelector{readPreference=primary} from cluster description ClusterDescription{type=UNKNOWN, connectionMode=SINGLE, all=[ServerDescription{address=localhost:27017, type=UNKNOWN, state=CONNECTING}]}. Waiting for 30000 ms before timing out2016-7-20 10:26:07 com.mongodb.diagnostics.logging.JULLogger log信息: Opened connection [connectionId{localValue:1, serverValue:31}] to localhost:270172016-7-20 10:26:07 com.mongodb.diagnostics.logging.JULLogger log信息: Monitor thread successfully connected to server with description ServerDescription{address=localhost:27017, type=STANDALONE, state=CONNECTED, ok=true, version=ServerVersion{versionList=[3, 2, 6]}, minWireVersion=0, maxWireVersion=4, electionId=null, maxDocumentSize=16777216, roundTripTimeNanos=466675}2016-7-20 10:26:07 com.mongodb.diagnostics.logging.JULLogger log信息: Opened connection [connectionId{localValue:2, serverValue:32}] to localhost:27017Document{{_id=5751251d2c532b9ca2e6f82a, name=123.0}}Document{{_id=5787433cc68661f8e956b83f, name=xin}}Document{{_id=57874f16d7a3a935709807d3, name=tom}}Document{{_id=57875aecd7a3a92e6013c542, name=Johnny, age=24, sex=男}}Document{{_id=57875da1d7a3a93f50b13268, name=Johnny, age=24, sex=男}}Document{{_id=57875dafd7a3a93a406a6323, name=Johnny, age=24, sex=男}}Document{{_id=578dd729d7a3a93308d240c9, name=Johnny, age=24, sex=男}}Document{{_id=578dda4cd7a3a922f00a4b19, name=Johnny, age=24, sex=男}}Document{{_id=578ddf10d7a3a91fa0be5e71, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf10d7a3a91fa0be5e72, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ddf21d7a3a92f98a6ab28, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf21d7a3a92f98a6ab29, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ddf2dd7a3a92aeceeb034, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf2dd7a3a92aeceeb035, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ddf66d7a3a90d684a35f9, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf66d7a3a90d684a35fa, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578de055d7a3a927f49ea687, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578de055d7a3a927f49ea688, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578edcd6d7a3a9209057ec7b, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578edcd6d7a3a9209057ec7c, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578edeb5d7a3a938d8105d9e, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578edeb5d7a3a938d8105d9f, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578edec8d7a3a93b9c7c7db5, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578edec8d7a3a93b9c7c7db6, title=MongoDB222, description=database222, likes=100, by=Fly}}-----------------------------star------------------------------Document{{_id=578ddf10d7a3a91fa0be5e71, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf10d7a3a91fa0be5e72, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ddf21d7a3a92f98a6ab28, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf21d7a3a92f98a6ab29, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ddf2dd7a3a92aeceeb034, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf2dd7a3a92aeceeb035, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ddf66d7a3a90d684a35f9, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf66d7a3a90d684a35fa, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578de055d7a3a927f49ea687, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578de055d7a3a927f49ea688, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578edcd6d7a3a9209057ec7b, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578edcd6d7a3a9209057ec7c, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578edeb5d7a3a938d8105d9e, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578edeb5d7a3a938d8105d9f, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578edec8d7a3a93b9c7c7db5, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578edec8d7a3a93b9c7c7db6, title=MongoDB222, description=database222, likes=100, by=Fly}}-----------------------------end------------------------------Document{{_id=5751251d2c532b9ca2e6f82a, name=123.0}}Document{{_id=5787433cc68661f8e956b83f, name=xin}}Document{{_id=57874f16d7a3a935709807d3, name=tom}}Document{{_id=57875da1d7a3a93f50b13268, name=Johnny, age=24, sex=男}}Document{{_id=57875dafd7a3a93a406a6323, name=Johnny, age=24, sex=男}}Document{{_id=578dd729d7a3a93308d240c9, name=Johnny, age=24, sex=男}}Document{{_id=578dda4cd7a3a922f00a4b19, name=Johnny, age=24, sex=男}}Document{{_id=578ddf10d7a3a91fa0be5e71, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf10d7a3a91fa0be5e72, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ddf21d7a3a92f98a6ab28, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf21d7a3a92f98a6ab29, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ddf2dd7a3a92aeceeb034, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf2dd7a3a92aeceeb035, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ddf66d7a3a90d684a35f9, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ddf66d7a3a90d684a35fa, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578de055d7a3a927f49ea687, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578de055d7a3a927f49ea688, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578edcd6d7a3a9209057ec7b, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578edcd6d7a3a9209057ec7c, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578edeb5d7a3a938d8105d9e, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578edeb5d7a3a938d8105d9f, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578edec8d7a3a93b9c7c7db5, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578edec8d7a3a93b9c7c7db6, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ee13fd7a3a92ec42e185d, title=MongoDB111, description=database111, likes=100, by=Fly}}Document{{_id=578ee13fd7a3a92ec42e185e, title=MongoDB222, description=database222, likes=100, by=Fly}}Document{{_id=578ee13fd7a3a92ec42e185f, name=xin, age=21, sex=men, address=ShangHai, English=ECT4}}{ "_id" : { "$oid" : "5751251d2c532b9ca2e6f82a" }, "name" : 123.0 }


0 0
原创粉丝点击