你的位置:首页 > 数据库

[数据库]MongoDB快速入门学习笔记8 MongoDB的java驱动操作


 

import java.util.ArrayList;import java.util.List;import java.util.regex.Pattern;import org.bson.Document;import com.mongodb.MongoClient;import com.mongodb.MongoCredential;import com.mongodb.ServerAddress;import com.mongodb.client.FindIterable;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoCursor;import com.mongodb.client.MongoDatabase;public class MongoZyh {  public static void main(String[] args) {    try {      // 连接到MongoDB服务,ServerAddress()两个参数分别为 服务器地址 和 端口      ServerAddress serverAddress = new ServerAddress("localhost", 27017);      List<ServerAddress> addrs = new ArrayList<ServerAddress>();      addrs.add(serverAddress);      // 三个参数分别为 用户名 数据库名称 密码      MongoCredential credential = MongoCredential          .createScramSha1Credential("zyh", "admin",              "zyh".toCharArray());      List<MongoCredential> credentials = new ArrayList<MongoCredential>();      credentials.add(credential);      // 通过连接认证获取MongoDB连接      MongoClient mongoClient = new MongoClient(addrs, credentials);      // 连接到数据库      MongoDatabase mongoDatabase = mongoClient.getDatabase("zyhdb");      // 新建集合,执行后会在数据库里新建一个空的集合      // mongoDatabase.createCollection("student");      // System.out.println("新建集合成功");      // 获取集合,并往集合中插入数据      MongoCollection<Document> mongoCollection = mongoDatabase          .getCollection("student");      // 插入一条数据      // Document document = new Document();      // document.append("name", "zhangsan");      // document.append("age", 28);      // mongoCollection.insertOne(document);      // System.out.println("插入一条数据成功");      // 插入多条数据      // List<Document> documentList = new ArrayList<Document>();      // Document document1 = new Document();      // document1.append("name", "lisi");      // document1.append("age", 28);      // document1.append("sex", "男");      // Document document2 = new Document();      // document2.append("name", "wangwu");      // document2.append("age", 31);      // document2.append("sex", "男");      // documentList.add(document1);      // documentList.add(document2);      // mongoCollection.insertMany(documentList);      // System.out.println("插入多条数据成功");      // 查询数据      // 查询集合中所有的数据      // FindIterable<Document> findIterable = mongoCollection.find();      // MongoCursor<Document> mongoCursor = findIterable.iterator();      // while (mongoCursor.hasNext()) {      // System.out.println(mongoCursor.next());      // }      // 根据条件查询      // Document query = new Document();      // query.put("age", new Document("$lt", 30));      // query.put("sex", "男");      // query.put("name", query);      // 正则表达式查询      // Pattern pattern = Pattern.compile("^zhang");      // query.put("name", pattern);      // 排序      // Document sort = new Document();      // sort.put("name", -1); // 1是正序,-1是倒序      // FindIterable<Document> findIterable = mongoCollection.find(query)      // .sort(sort);      // MongoCursor<Document> mongoCursor = findIterable.iterator();      // while (mongoCursor.hasNext()) {      // Document doc = mongoCursor.next();      // System.out.print("name:" + doc.get("name") + "...");      // System.out.print("age:" + doc.get("age") + "...");      // System.out.println("sex:" + doc.get("sex") + "...");      // }      // mongoCollection.findOneAndUpdate(查询条件, 修改内容); // 查询出第一条数据并修改      // mongoCollection.findOneAndDelete(查询条件); // 查询出第一条数据并删除      // mongoCollection.findOneAndReplace(查询条件, 替换内容); // 查询出第一条数据并替换      // 修改数据      // Document query = new Document();      // query.put("age", 28);      // Document update = new Document();      // Document d = new Document();      // d.put("birthday", new Date());      // d.put("name", "zhangsan");      // update.put("$set", d);      // mongoCollection.updateOne(query, update); // 修改查询到的第一条数据      // mongoCollection.updateMany(查询条件, 修改内容);// 修改查询到的所有数据      // 删除数据      // Document query = new Document();      // query.put("age", 28);      // mongoCollection.deleteOne(query); // 删除查询到的第一条数据      // mongoCollection.deleteMany(查询条件); // 删除查询到的所有数据      // mongoCollection.drop(); // 删除集合    } catch (Exception e) {      e.printStackTrace();    }  }}