简单学习Java+MongoDB的方法

时间:2020-12-23 12:42:50 简单学习 我要投稿

关于简单学习Java+MongoDB的方法

  MongoDB一些概念

关于简单学习Java+MongoDB的方法

  下面以MongoDB和MySql的对比来说明

  MySQLMongoDB

  database(数据库)db(数据库)

  table(表)collection(集合)

  row(行记录)document(文档)

  column(列)field(字段)

  primary key(指定主键)"_id" : ObjectId("******") 自动生成内置主键

  Mysql的'数据形式如下

  同样的数据在MongoDB下类似于JSON键值对,叫BSON,如下

  MongoDB的CRUD

  windows下安装成功后,使用mongod命令启动服务,使用mongo命令默认连接到test库

  1,创建集合

  创建user集合:db.createCollection("user") //不需要定义字段

  2,插入

  插入name=wangxu,age=27的记录:db.user.({"name":"wangxu","age":27})

  3,查询

  查询全部:db.user.find()

  查询name=wangxu的记录:db.user.find({"name":"wangxu"})

  4,更新

  将name=wangxu的记录age更新成30:db.user.update({name:"wangxu"},{"$set":{"age":30}})

  5,删除

  删除name=wangxu的记录:db.user.remove({"name":"wangxu"})

  删除全部:db.user.remove()

  6,删除集合

  删除user集合: db.user.drop()

  Java调用MongoDB

  引入MongoDB的Java驱动包后,测试代码如下:

  package com.wx.test;import java.util.ArrayList;import org.bson.Document;import com.mongodb.MongoClient;FindIterableclient.MongoCollection.MongoCursor.MongoDatabase;import com.mongodb.client.model.Filters;/** * 测试mongodb 测试点:增加,查询,更新,删除 * * @author wangxu * @date 2016-3-27 */public class TestMongoDB { public static void main(String[] args) { // 建立连接,MongoDB默认是没有用户名及密码 MongoClient mongoClient = new MongoClient("localhost", 27017); // 获取test库 MongoDatabase db = mongoClient.getDatabase("test"); // 创建集合 db.createCollection("user"); // 获取集合 MongoCollection collection = db.getCollection("user"); // 插入文档(支持多条) Document document = new Document("name", "wangxu").append("age", "27"); Document document2 = new Document("name", "wangxu_java").append("age", "27"); Listdocuments = new ArrayList<>(); documents.add(document); documents.add(document2); collection.Many(documents); // 更新wangxu的age为30 collection.updateMany(Filters.eq("name", "wangxu"), new Document( "$set", new Document("age", 30))); // 查询文档 FindIterablefindIterable = collection.find(); MongoCursormongoCursor = findIterable.iterator(); // 遍历游标 while (mongoCursor.hasNext()) { Document doc = mongoCursor.next(); System.out.println("name=" + doc.get("name")); } // 删除wangxu_java collection.Many(Filters.eq("name", "wangxu_java")); }}

  关于Java驱动包的一个疑问

  MongoClient mongoClient = new MongoClient("域不存在", 27017); //建立连接

  当我保存上面的代码时,发现不需要处理异常,开始我以为异常被设计成了“非检查异常”,运行时会抛出来,最后测试发现根本不会抛任何异常,后续的CRUD操作时会抛异常,但几乎都是非检查异常,个人感觉这种设计是不是有点不符合Java的异常分类机制?

【关于简单学习Java+MongoDB的方法】相关文章:

关于学习韩语的方法09-11

关于简单有效的健身方法10-02

高中历史简单学习方法12-24

解析高中政治简单的学习方法12-25

最简单的嵌入式学习方法10-04

关于帮助孩子学习的方法01-07

关于韩语的学习方法11-03

关于韩语学习方法09-11

学习的方法01-03

高中历史简单学习方法(7篇)12-24