java操控MongoDB简单使用,以及如何使用jfinal操控MongoDB

java操控MongoDB简单使用,以及如何使用jfinal操控MongoDB

  1. jfinal使用时封装的插件类

    操控MongoDatabaseMongoDb类。

    public class MongoDb {
        private static MongoDatabase mongoDatabase;
    
        public static void setMongoDatabase(MongoDatabase mongoDatabase) {
            MongoDb.mongoDatabase = mongoDatabase;
        }
    
        public static MongoDatabase use() {
            return mongoDatabase;
        }
    
        public static MongoCollection<Document> getCollection(String collName) {
            return mongoDatabase.getCollection(collName);
        }
    }
    

    控制连接的MongoDbPlugin类。

    public class MongoDbPlugin implements IPlugin {
        private MongoClient client;
    
        public MongoDbPlugin(String host, int port, String database) {
            client = new MongoClient(host, port);
            MongoDb.setMongoDatabase(client.getDatabase(database));
        }
    
        public MongoDbPlugin(String database) {
            this("localhost", 27017, database);
        }
    
        @Override
        public boolean start() {
            return true;
        }
    
        @Override
        public boolean stop() {
            client.close();
            return true;
        }
    }
    
  2. 简单使用(流式)

    1. 使用正则字符串过滤指定字段

      MongoDb.getCollection("new_exam")
          	.find(Filters.regex("main_teacher", regStr))
           	.iterator()
          	.forEachRemaining(doc -> {
                resTeacherSet.add(doc.getString("main_teacher"));
            });
      

      多个条件或并且再排序

      MongoDb.getCollection("new_exam")
          .find(Filters.or(
                              Filters.regex("main_teacher", regTeacherName),
                              Filters.regex("deputy_teacher", regTeacherName)))
                      .sort(Sorts.ascending("timestamp"))
      
发布了76 篇原创文章 · 获赞 53 · 访问量 4154

猜你喜欢

转载自blog.csdn.net/qq_42254247/article/details/103865448
今日推荐