MongoDB 的小例子

来源:互联网 发布:实木床 品牌 知乎 编辑:程序博客网 时间:2024/05/20 07:33
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">    <modelVersion>4.0.0</modelVersion>    <groupId>com.test.mongo</groupId>    <artifactId>com.test.mongo</artifactId>    <version>1.0-SNAPSHOT</version>    <properties>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    </properties>    <dependencies>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>3.8.1</version>            <scope>test</scope>        </dependency>        <dependency>            <groupId>org.mongodb</groupId>            <artifactId>mongo-java-driver</artifactId>            <version>3.2.2</version>        </dependency>        <dependency>            <groupId>junit</groupId>            <artifactId>junit</artifactId>            <version>4.12</version>            <scope>test</scope>        </dependency>    </dependencies>

</project>

--------------------

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;import org.bson.Document;import java.util.ArrayList;import java.util.List;/** * Created by Administrator on 2016/9/15. */public class MongoTest {    // 连接到 mongodb 服务    MongoClient mongoClient = null;//    // 连接到数据库    MongoDatabase mongoDatabase = null;//    MongoCollection<Document> collection = null;    public void init() {        mongoClient = new MongoClient("localhost", 27017);        mongoDatabase = mongoClient.getDatabase("mycol");        collection = mongoDatabase.getCollection("test");        System.out.println("集合 test 选择成功");    }    public void insertMe() {        //插入文档        /**         * 1. 创建文档 org.bson.Document 参数为key-value的格式         * 2. 创建文档集合List<Document>         * 3. 将文档集合插入数据库集合中 mongoCollection.insertMany(List<Document>) 插入单个文档可以用 mongoCollection.insertOne(Document)         * */        for (int i = 0; i <= 100000; i++) {            Document document = new Document("title", "MongoDB").                    append("description", "描述" + (i + 1)).                    append("likes", 100 + i).                    append("by", "将文档" + (i + 1) + "集合插入数据库集合中");            List<Document> documents = new ArrayList<Document>();            documents.add(document);            collection.insertMany(documents);            System.out.println("文档插入成功");        }    }    public void updateMe() {        //更新文档   将文档中likes=100的文档修改为likes=200        //collection.updateMany(Filters.eq("description", "mysql"), new Document("$set", new Document("description", "updatedName")));        //        collection.updateMany(Filters.eq("likes", 100), new Document("$set", new Document("likes", 200)));    }    //检索所有文档    /**     * 1. 获取迭代器FindIterable<Document>     * 2. 获取游标MongoCursor<Document>     * 3. 通过游标遍历检索出的文档集合     */    public void showMe() {        FindIterable<Document> findIterable = collection.find();        MongoCursor<Document> mongoCursor = findIterable.iterator();        int i = 0;        while (mongoCursor.hasNext()) {            System.out.println("row:" + (i++) + "  \t" + mongoCursor.next());        }    }    public void deleteMe() {        //删除符合条件的第一个文档        //collection.deleteOne(Filters.eq("likes", 200));        //删除所有符合条件的文档        collection.deleteMany(Filters.eq("title", "MongoDB"));    }    public static void main(String[] args) {        try {            MongoTest mongoTest = new MongoTest();            mongoTest.init();// 初始化            // mongoTest.insertMe();// 插入            //mongoTest.updateMe();            // mongoTest.deleteMe();            mongoTest.showMe();//显示数据        } catch (Exception e)        {            System.err.println(e.getClass().getName() + ": " + e.getMessage());        }    }}





0 0
原创粉丝点击