博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java和MongoDB之Hello World
阅读量:6829 次
发布时间:2019-06-26

本文共 4956 字,大约阅读时间需要 16 分钟。

1.新建Project

新建Java Project,并把mongo-java-driver驱动加入到项目bulid path中,如果你使用的是maven增加依赖。

org.mongodb
mongo-java-driver
2.10.1

2.连接上MongoDB

//>2.10版本MongoClient mongo = new MongoClient( "localhost" , 27017 );//老版本  Mongo mongo = new Mongo("localhost", 27017);

如果需要验证,需要输入用户名和密码

MongoClient mongoClient = new MongoClient();    DB db = mongoClient.getDB("database name");    boolean auth = db.authenticate("username", "password".toCharArray());

3.MongoDB数据库

得到MongoDB中的数据库,如果数据库名不存在,MongoDB会自动创建

DB db = mongo.getDB("database name");

显示所有的数据库

List
dbs = mongo.getDatabaseNames(); for(String db : dbs){ System.out.println(db); }

4.MongoDB Collection(MongoDB表)

得到数据库中的表

DB db = mongo.getDB("testdb");    DBCollection table = db.getCollection("user");

显示数据库中的所有表

DB db = mongo.getDB("testdb");    Set
tables = db.getCollectionNames(); for(String coll : tables){ System.out.println(coll); }

5.插入、查找、更新、删除操作

插入数据,向Collection(表)中插入一个Document

DBCollection table = db.getCollection("user");    BasicDBObject document = new BasicDBObject();    document.put("name", "qiyadeng");    document.put("age", 30);    document.put("createdDate", new Date());    table.insert(document);

更新Document中的name="qiyadeng.com"

DBCollection table = db.getCollection("user");    BasicDBObject query = new BasicDBObject();    query.put("name", "qiyadeng");    BasicDBObject newDocument = new BasicDBObject();    newDocument.put("name", "qiyadeng.com");    BasicDBObject updateObj = new BasicDBObject();    updateObj.put("$set", newDocument);     table.update(query, updateObj);

从Collection中查找name="qiyadeng.com"的Document

DBCollection table = db.getCollection("user");     BasicDBObject searchQuery = new BasicDBObject();    searchQuery.put("name", "qiyadeng.com");     DBCursor cursor = table.find(searchQuery);     while (cursor.hasNext()) {        System.out.println(cursor.next());    }

删除name="qiyadeng"的Document

DBCollection table = db.getCollection("user");     BasicDBObject searchQuery = new BasicDBObject();    searchQuery.put("name", "qiyadeng.com");     table.remove(searchQuery);

6.完整的例子

package com.qiyadeng.mongodb;import java.util.Date;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.DBCursor;import com.mongodb.MongoClient;public class MongoDBSample {    public static void main(String[] args) throws Exception{                         /**** Connect to MongoDB ****/            //2.10.0后,使用MongoClient            MongoClient mongo = new MongoClient("localhost", 27017);                     /**** Get database ****/            // if database doesn't exists, MongoDB will create it for you            DB db = mongo.getDB("testdb");                     /**** Get collection / table from 'testdb' ****/            // if collection doesn't exists, MongoDB will create it for you            DBCollection table = db.getCollection("user");                     /**** Insert ****/            // create a document to store key and value            BasicDBObject document = new BasicDBObject();            document.put("name", "qiyadeng");            document.put("age", 30);            document.put("createdDate", new Date());            table.insert(document);                     /**** Find and display ****/            BasicDBObject searchQuery = new BasicDBObject();            searchQuery.put("name", "qiyadeng");                     DBCursor cursor = table.find(searchQuery);                     while (cursor.hasNext()) {                System.out.println(cursor.next());            }                     /**** Update ****/            // search document where name="qiyadeng" and update it with new values            BasicDBObject query = new BasicDBObject();            query.put("name", "qiyadeng");                     BasicDBObject newDocument = new BasicDBObject();            newDocument.put("name", "qiyadeng.com");                     BasicDBObject updateObj = new BasicDBObject();            updateObj.put("$set", newDocument);                     table.update(query, updateObj);                     /**** Find and display ****/            BasicDBObject searchQuery2                 = new BasicDBObject().append("name", "qiyadeng.com");                     DBCursor cursor2 = table.find(searchQuery2);                     while (cursor2.hasNext()) {                System.out.println(cursor2.next());            }    }}

输出

{  " _id "  : {  " $oid "  :  " 51444c88874c79654063356b " } ,  " name "  :  " qiyadeng "  ,  " age "  :  30  ,  " createdDate "  : {  " $date "  :  " 2013-03-16T10:42:16.555Z " }}
{  " _id "  : {  " $oid "  :  " 51444c88874c79654063356b " } ,  " age "  :  30  ,  " createdDate "  : {  " $date "  :  " 2013-03-16T10:42:16.555Z " } ,  " name "  :  " qiyadeng.com " }
 

使用mongo验证创建的数据库testdb,collection user是否存在。

 

转自:

转载于:https://www.cnblogs.com/olmlo/p/3543684.html

你可能感兴趣的文章
Azkaban学习之路 (一)Azkaban的基础介绍
查看>>
域名绑定云主机
查看>>
Linux: grep多个关键字“与”和“或”
查看>>
CAS5.2x单点登录(二)cas服务器连接数据库
查看>>
Android tess_two Android图片文字识别
查看>>
高负载微服务系统的诞生过程
查看>>
maven生命周期理解
查看>>
JS基础之传参(值传递、对象传递)
查看>>
CC 攻击检测研究现状
查看>>
SpringBoot开发案例从0到1构建分布式秒杀系统
查看>>
通通WPF随笔(4)——通通手写输入法(基于Tablet pc实现)
查看>>
sublime text3配置ctrl+鼠标左键进行函数跳转【转】
查看>>
(转)几种经典的hash算法
查看>>
pytest文档6-fixture之yield实现teardown
查看>>
gerrit 使用教程(一)
查看>>
使用caddy 进行nodejs web应用近实时编译更新
查看>>
Solr如何使用in语法查询
查看>>
WPF ListView控件设置奇偶行背景色交替变换以及ListViewItem鼠标悬停动画
查看>>
高级动画
查看>>
类型运算符
查看>>