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();
        }

    }
}
时间: 2024-08-07 12:51:39

MongoDB快速入门学习笔记8 MongoDB的java驱动操作的相关文章

MongoDB快速入门学习笔记3 MongoDB的文档插入操作

1.文档的数据存储格式为BSON,类似于JSON.MongoDB插入数据时会检验数据中是否有“_id”域,如果没有会自动生成.shell操作有insert和save两种方法.当插入一条数据有“_id”值,并且现在集合中已经有相同的值,使用insert插入时插入不进去,使用save时,会更新数据. 1 > db.student.drop() 2 true 3 > db.student.insert({"_id": 1, "name":"zhang

MongoDB快速入门学习笔记7 MongoDB的用户管理操作

1.修改启动MongoDB时要求用户验证加参数 --auth 即可.现在我们把MongoDB服务删除,再重新添加服务 mongod --dbpath "D:\work\MongoDB\data" --logpath "D:\work\MongoDB\log\mongodb.log" --install --serviceName "MongoDB" --auth 2.创建用户,并使用创建的用户登录打开shell操作界面,默认test数据,再查看所

MongoDB快速入门学习笔记5 MongoDB的文档修改操作

db.集合名称.update({query},{update},upsert, multi})query:过滤条件update:修改内容upsert:如果不存在查询条件查出的记录,是否插入一条数据,默认是falsemulti:是否只修改查询条件查出的第一条记录,默认是false > db.student.update({_id:1}, {name:"zhang"}) WriteResult({ "nMatched" : 1, "nUpserted&q

MongoDB快速入门学习笔记4 MongoDB的文档查询操作

先把student删除,再重新插入数据 > db.student.drop() true > db.student.insert([{ "_id" : 1, "name" : "zhangsan", "age": 27, "sex": 1 }, { "_id" : 2, "name" : "lisi", "age":

MongoDB快速入门学习笔记1 windows安装MongoDB

1.安装MongoDB 从MongoDB官网上下载MongoDB,我下载的版本是64位的3.2.6.下载完以后直接安装,我的安装目录是D:\work\MongoDB. 2.配置MongoDB的环境变量 在PATH中添加D:\work\MongoDB\Server\3.2\bin.(配置环境变量是为了更加方便的执行bin下的命令) 3.启动MongoDB 启动MongoDB的时候使用mongod命令,--dbpath 设置数据库的路径,--logpath 设置日志文件的路径 mongod --db

Qt快速入门学习笔记(基础篇)

本文基于Qter开源社区论坛版主yafeilinux编写的<Qt快速入门系列教程目录>,网址:http://bbs.qter.org/forum.php?mod=viewthread&tid=193.参考书为基于该系列教程<Qt Creator快速入门>和<Qt及Qt Quick开发实战精解> 1.关联Qt库.如果是分别安装的Qt Creator和Qt库,而不是安装集成Qt Creator和Qt库的SDK,则需要手动关联Qt库.打开工具→选项菜单,然后选择“构建

Sass快速入门学习笔记

1. 使用变量; sass让人们受益的一个重要特性就是它为css引入了变量.你可以把反复使用的css属性值 定义成变量,然后通过变量名来引用它们,而无需重复书写这一属性值.或者,对于仅使用过一 次的属性值,你可以赋予其一个易懂的变量名,让人一眼就知道这个属性值的用途. sass使用$符号来标识变量(老版本的sass使用!来标识变量.改成$是多半因为!highlight-color看起来太丑了.),比如$highlight-color和$sidebar-width.为什么选择$ 符号呢?因为它好认

git简明快速入门学习笔记

1.创建新仓库 创建新文件夹,cd到这个文件夹,然后执行 git init 以创建新的 git 仓库. git init //创建新的 git 仓库 2.检出仓库 执行如下命令以创建一个本地仓库的克隆版本: git clone /path/to/repository 如果是远端服务器上的仓库,你的命令会是这个样子: git clone [email protected]:/path/to/repository 3.工作流 你的本地仓库由 git 维护的三棵“树”组成.第一个是你的 ,它持有实际文

mongo db 学习笔记 之一: mongodb 初认识

官网文章,对比SQL和mongodb http://docs.mongodb.org/manual/reference/sql-comparison/ db --显示当前使用的库 show dbs --显示所有库 use db show collections --显示当前数据库的所有表 db.testData.find() --选择要操作的数据库之后,db代表当前数据库对象,testData代表数据表,在mongo里table叫作collection. find()函数返回所有记录(recor