MongoDB java版 增删改查

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010189746/article/details/82821988

mavn 版本


    <dependency>
      <groupId>org.mongodb</groupId>
      <artifactId>mongo-java-driver</artifactId>
      <version>3.5.0</version>
    </dependency>
package com.mongodb;

import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.result.DeleteResult;
import com.mongodb.client.result.UpdateResult;
import org.bson.BSON;
import org.bson.Document;
import org.bson.codecs.configuration.CodecRegistries;
import org.bson.codecs.configuration.CodecRegistry;
import org.bson.codecs.pojo.PojoCodecProvider;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * Created by liugaoqiao on 2018/9/23.
 */
public class MongodbTest {

    public static void main(String[] args) {

        add();
        pojoFind();
    }


    /**
     * pojo查找
     */
    private static void pojoFind() {

        ServerAddress serverAddress = new ServerAddress("192.168.5.233", 27022);


        // 1.增加默认编解码器
        List<CodecRegistry> codecRegistries = new ArrayList<>();
        codecRegistries.add(MongoClient.getDefaultCodecRegistry());


        //2 增加pojo 解码器
        CodecRegistry providers = CodecRegistries.fromProviders(PojoCodecProvider.builder().automatic(true).build());
        codecRegistries.add(providers);

        // 通过解码生成注册中心
        CodecRegistry codecRegistry = CodecRegistries.fromRegistries(codecRegistries);
        MongoClient mongoClient = new MongoClient(serverAddress, MongoClientOptions.builder().codecRegistry(codecRegistry).build());
        MongoDatabase mongoDatabase = mongoClient.getDatabase("test4");

        MongoCollection<User> documentMongoCollection = mongoDatabase.getCollection("user", User.class);

        FindIterable<User> findIterable = documentMongoCollection.find();
        Block<User> printDoc = new Block<User>() {
            @Override
            public void apply(User user) {
                System.out.println(user.getAge());
            }
        };
        findIterable.forEach(printDoc);
    }


    /**
     * 创建MongoClient
     *
     * @return
     */
    private static MongoCollection<Document> getMongoCollection() {
        MongoClient mongoClient = new MongoClient("192.168.5.233", 27022);
        MongoDatabase mongoDatabase = mongoClient.getDatabase("test4");
        MongoCollection<Document> documentMongoCollection = mongoDatabase.getCollection("user");
        return documentMongoCollection;
    }


    /***
     * 查找
     */
    private static void find() {
        Filters.regex("user", ".*s.*");  // like %s%
        FindIterable<Document> findIterable = getMongoCollection().find();
        Block<Document> printDoc = new Block<Document>() {
            @Override
            public void apply(Document document) {
                System.out.println(document.toJson());
            }
        };
        findIterable.forEach(printDoc);
    }


    /**
     * 删除
     */

    private static void delete() {
        DeleteResult deleteResult = getMongoCollection().deleteMany(Filters.eq("name", "zhangsan"));

        System.out.println(deleteResult.getDeletedCount() + "");


        //删除大于8 小于10 的年纪数据

        DeleteResult deleteR = getMongoCollection().deleteMany(Filters.and(Filters.gt("age", 8), Filters.lt("age", 10)));


        System.out.println(deleteR.getDeletedCount() + "");

    }


    /**
     * 更新
     */

    private static void update() {


        UpdateResult updateResult = getMongoCollection().updateMany(Filters.eq("name", "tes2"), new Document("$set", new Document("age", 10)));
        System.out.println(updateResult.getModifiedCount() + "");


    }


    /**
     * 增加
     */

    private static void add() {
        List<Document> doc1 = new ArrayList<>();
        Document document1 = new Document();
        document1.put("name", "zhangsan");
        document1.put("age", 1);
        document1.put("price", 1.77f);
        doc1.add(document1);
        List<Document> doc2 = new ArrayList<>();

        Document document2 = new Document();
        document2.put("name", "tes2");
        document2.put("age", 4);
        document2.put("price", 2.77f);
        doc1.add(document2);
        getMongoCollection().insertMany(doc1);
    }
}



猜你喜欢

转载自blog.csdn.net/u010189746/article/details/82821988
今日推荐