mongoDB用java实现增删改查
package mongo; import java.net.UnknownHostException; import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.Mongo;
import com.mongodb.MongoException; public class connection {
public static void main(String[] args){
try{
Mongo m = new Mongo("localhost", 27017);
DB db = m.getDB("company");
DBCollection collection = db.getCollection("employees");
BasicDBObject employee = new BasicDBObject();
employee.put("name", "Hannah");
employee.put("no", 2);
collection.insert(employee);
BasicDBObject searchEmployee = new BasicDBObject();
searchEmployee.put("no", 2);
DBCursor cursor = collection.find(searchEmployee);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
System.out.println("The Search Query has Executed!");
}catch(UnknownHostException e){
e.printStackTrace();
}catch(MongoException e){
e.printStackTrace();
}
}
}
{ "_id" : { "$oid" : "5454fa4458404d12637d418c"} , "name" : "Hannah" , "no" : 2}
The Search Query has Executed!
import java.net.UnknownHostException;
import java.util.Set; import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.Mongo;
import com.mongodb.MongoException; public class Test { /**
* @author gaogao
* @param args
* @throws MongoException
* @throws UnknownHostException
*/
public static void main(String[] args) throws UnknownHostException,
MongoException {
// TODO Auto-generated method stub
// 连接本地数据库
Mongo m = new Mongo();
// 创建名为new_test_db的数据库
DB db = m.getDB("new_test_db");
// 获取new_test_db中的集合(类似于获取关系数据库中的表)
Set<String> cols = db.getCollectionNames();
// 打印出new_test_db中的集合,这里应当为null
for (String s : cols) {
System.out.println(s);
}
// 创建一个叫做"new_test_col"的集合
DBCollection collection = db.getCollection("new_test_col");
// 初始化一个基本DB对象,最终插入数据库的就是这个DB对象
BasicDBObject obj = new BasicDBObject();
// 放入几个键值对
obj.put("from", "搞搞");
obj.put("to", "宝宝");
obj.put("subject", "狗子爱宝子");
//插入对象
collection.insert(obj);
//查看一条记录,findOne()=find().limit(1);
DBObject dbobj=collection.findOne();
//打印出刚才插入的数据
System.out.println(dbobj);
//现在我们来插入9条{ranking:i}的数据
for(int i=0;i<9;i++){
collection.insert(new BasicDBObject().append("ranking", i));
}
//打印集合中的数据总数,这里应当输出10
System.out.println(collection.getCount());
//下面我们来遍历集合,find()方法返回的是一个游标(cursor),这里的概念和关系数据库很相似
DBCursor cursor=collection.find();
//然后我们使用这个游标来遍历集合
while(cursor.hasNext()){
System.out.println(cursor.next());
}
//下面来看一些略复杂一点的查询技巧,第一个,简单的条件查询,查询ranking为1的记录
BasicDBObject query=new BasicDBObject();
query.put("ranking", 1);
cursor=collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
//下面是更复杂的条件查询,查询ranking大于5小于9的记录
query=new BasicDBObject();
query.put("ranking", new BasicDBObject("$gt", 5).append("$lt", 9));
cursor=collection.find(query);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
//最后删除我们的测试数据库
m.dropDatabase("new_test_db");
}
}
mongoDB用java实现增删改查的更多相关文章
- 基于mongodb的java之增删改查(CRUD)
1,下载驱动https://github.com/mongodb/mongo-java-driver/downloads,导入工程java中 2,建立测试代码 import java.net.Unkn ...
- 十四:SpringBoot-配置MongoDB数据库,实现增删改查逻辑
SpringBoot-配置MongoDB数据库,实现增删改查逻辑 1.MongoDB数据库 1.1 MongoDB简介 1.2 MongoDB特点 2.SpringBoot整合MongoDB 2.1 ...
- mongodb的安装与增删改查
mongodb是一款分布式的文件存储的数据库,注意这两个词,分布式和文件存储.mongodb支持复制和分片,可以合理的运用空间的大小,也可以达到容灾的目的.另外文件存储也是一个特点,抛弃了传统的表的概 ...
- MongoDB学习-->命令行增删改查&JAVA驱动操作Mongodb
MongoDB 是一个基于分布式文件存储的数据库. 由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关 ...
- mongoDB (mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储 ...
- JAVA JDBC 增删改查简单例子
1.数据库配置文件jdbc.properties driver=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/test username= ...
- MongoDB的基本操作(增删改查)
目录 概念整理 数据库:一个MongoDB中可以建立多个数据库. 集合:MongoDB的文档组. 文档:实际存放数据的地方. 常见的操作 数据库(新增,删除) 集合(新增,编辑,删除) 文档(增删 ...
- MongoDB学习笔记,基础+增删改查+索引+聚合...
一 基础了解 对应关系 -> https://docs.mongodb.com/manual/reference/sql-comparison/ database -> database ...
- java中增删改查(CRUD)总结
对于User表增删改查:1:save(保存方法) view(查询所有记录) update(更新方法) delete(删除方法) 通过method这个参数进行判断执行不同的操作 2: 具体的实现: ...
随机推荐
- Windows Azure 上 Linux VM 中的交换空间 – 第 2 部分
本文章由 Azure CAT 团队的 Piyush Ranjan (MSFT) 撰写. 在前一篇文章 Windows Azure 上Linux VM 中的交换空间第 1 部分中,我介绍了在默认情况下, ...
- wordpress在window下完美实现301重定向的方法
问题: 首先,简单说一下关于301重定向的问题,最简单的理解就是,假设你的主机上绑定有 www.uilike.cn, uilike.cn, www.uiseo.cn三个域名,当你想输入 uilike. ...
- c#中常用的异常类型
c#中异常捕获catch{}常用的异常类型 Exception 类 描述 SystemException 其他用户可处理的异常的基本类 ArgumentException 方法的参数是非法的 ...
- 关于js封装框架类库之样式操作
在js中,对样式的操作我们并不感到陌生,在很多框架中都是用极少的代码,实现更强大的功能,在这做出一些的总结.存在不足还望指出! 1.封装一个添加css的方法(这篇引用了前面的框架结构) 在 js 中 ...
- Jquery遍历数组之$.inArray()方法介绍
$.inArray()函数用于在数组中搜索指定的值,并返回其索引值.如果数组中不存在该值,则返回-1; $.inArray(value,array) --value是要查找的值,array是被查 ...
- iOS面试题01-多线程网络
1.面试题方向: 1>.多线程+网络 2>.项目(简历上的项目,每一个细节:技术实现细节.业务.项目周期.人数) 3>.性能优化:图片优化.内存优化(tableView的循环利用) ...
- 火狐浏览器开始支持3D游戏和视屏通话
最近,Mozilla发布了第22版本的火狐浏览器,这个版本增加了对3D游戏.视频通话和文件分享功能的支持.现在使用者不必下载额外的插件或者第三方软件就可以使用上面的所有特性.为了鼓励更多的开发者为火狐 ...
- STL: generate ,geterate_n
在随机生成一定范围不重复数时用到random_shuffle函数,之前填充数组都是用for循环, 想到之前python中的range生成序列,于是在C++中找到对应的generate用来生成所需数组. ...
- POJ 3376 Finding Palindromes(扩展kmp+trie)
题目链接:http://poj.org/problem?id=3376 题意:给你n个字符串m1.m2.m3...mn 求S = mimj(1=<i,j<=n)是回文串的数量 思路:我们考 ...
- 关于php支持的协议与封装协议
<?php /* * php://stdin 标准输入流 * php://stdout 标准输入流 * php://stderr 标准错误流 * php://output 只写的数据流 * ph ...