mongoDB Java SDK CRUD操作例子
import java.net.UnknownHostException;
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;
/**
* mongoDB CURD test
*
* author:svennee
*/
public class testMongoDB {
public static void main(String[] args) {
try {
/**
* Connection MongoDB
*/
/*
* MongoObject have a constructor(String, int)
*
* String = host:127.0.0.1(default value) or 192.168.1.155
* int = port:27017(default value)
*/
Mongo mongo = new Mongo("192.168.1.161", 27017);
DB db = mongo.getDB("n_db_test");
DBCollection city = db.getCollection("city");
/**
* Insert data
*/
BasicDBObject needAddObject = new BasicDBObject();
needAddObject.put("cid", "c001");
needAddObject.put("city_name", "武汉");
needAddObject.put("country", "湖北");
city.insert(needAddObject);
System.out.println("Insert data success~");
/**
* Read data
*/
BasicDBObject queryCondition = new BasicDBObject();
queryCondition.put("city_name", "武汉");
DBCursor queryCursor = city.find(queryCondition);
DBCursor queryAllCursor = city.find();
while (queryCursor.hasNext()) {
System.out.println("Read condition data:"+queryCursor.hashCode() + " ReadValue:" + queryCursor.next());
}
while (queryAllCursor.hasNext()) {
System.out.println("Read All data:"+queryAllCursor.hashCode() + " ReadValue:" + queryAllCursor.next());
}
System.out.println("Read data success~");
/**
* Modify data
*/
// One method(这种强大些!)
BasicDBObject needModifyData = new BasicDBObject();
needModifyData.put("cid", "c001");
DBCursor modifyCursor = city.find(needModifyData);
if (modifyCursor.hasNext()) {
DBObject modifyObject = modifyCursor.next();
modifyObject.put("cid", "c002");
city.save(modifyObject);
}
// Two method
BasicDBObject old_val = new BasicDBObject(),new_val = new BasicDBObject();
old_val.put("city_name", "武汉");
new_val.put("city_name", "武汉苏州");
city.update(old_val, new_val);
System.out.println("Modfiy data success~");
/**
* Delete data
*/
BasicDBObject needDelData = new BasicDBObject();
needDelData.put("city_name", "武汉苏州");
DBCursor delCursor = city.find(needDelData);
while (delCursor.hasNext()) {
DBObject delObject = delCursor.next();
city.remove(delObject);
}
System.out.println("Delete data success~");
} catch (UnknownHostException e) {
System.err.println("UnknownHostException");
e.printStackTrace();
} catch (MongoException e) {
System.err.println("MongoException");
e.printStackTrace();
}
}
}
mongoDB Java SDK CRUD操作例子的更多相关文章
- mongodb学习(四)CRUD操作
CRUD操作: 1. 插入操作: 直接使用 insert可执行单个操作,也可以执行批量操作 书上的batchInsert会报错.似乎被废弃了. db.foo.insert({"bar&quo ...
- 关于Mongdb的java的CRUD操作
package mongodb; import java.net.UnknownHostException;import java.util.List; import com.mongodb.Basi ...
- MongoDB -- JAVA基本API操作
package com.example.mongodb.mongodb.demo; import com.mongodb.MongoClient; import com.mongodb.client. ...
- 【翻译】MongoDB指南/CRUD操作(四)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(四) 1 查询方案(Query Plans) MongoDB 查询优化程序处理查询并且针对给定可利用的索引选 ...
- 【翻译】MongoDB指南/CRUD操作(三)
[原文地址]https://docs.mongodb.com/manual/ CRUD操作(三) 主要内容: 原子性和事务(Atomicity and Transactions),读隔离.一致性和新近 ...
- 【翻译】MongoDB指南/CRUD操作(二)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(二) 主要内容: 更新文档,删除文档,批量写操作,SQL与MongoDB映射图,读隔离(读关 ...
- 【翻译】MongoDB指南/CRUD操作(一)
[原文地址]https://docs.mongodb.com/manual/ MongoDB CRUD操作(一) 主要内容:CRUD操作简介,插入文档,查询文档. CRUD操作包括创建.读取.更新和删 ...
- MongoDB的CRUD操作
1. 前言 在上一篇文章中,我们介绍了MongoDB.现在,我们来看下如何在MongoDB中进行常规的CRUD操作.毕竟,作为一个存储系统,它的基本功能就是对数据进行增删改查操作. MongoDB中的 ...
- 【Java EE 学习 44】【Hibernate学习第一天】【Hibernate对单表的CRUD操作】
一.Hibernate简介 1.hibernate是对jdbc的二次开发 2.jdbc没有缓存机制,但是hibernate有. 3.hibernate的有点和缺点 (1)优点:有缓存,而且是二级缓存: ...
随机推荐
- linux下如何实现简单刷屏【转】
转自:http://blog.csdn.net/figthter_cui/article/details/6145272 版权声明:本文为博主原创文章,未经博主允许不得转载. 今天为了测试我的LCD有 ...
- aiohttp/asyncio测试代理是否可用
#!/usr/bin/env python # encoding: utf-8 from proxyPool.db import RedisClient import asyncio import a ...
- POCO C++ SOCKET
// client program #include "Poco/Net/DatagramSocket.h" #include "Poco/Net/SocketAddre ...
- 使用 JavaScript 将网站后台的数据变化实时更新到前端-【知乎总结】
问: 难道只能设置定时器每隔一秒通过 Ajax 向后台请求数据来实现吗? 答: 1. nodejs的 http://socket.io 支持上述 李宏训 所说的三种方式,另外还支持 Flash Soc ...
- codeforces-505B
题目连接:http://codeforces.com/contest/505/problem/B B. Mr. Kitayuta's Colorful Graph time limit per tes ...
- 中国石油大学(华东)OJ题目的HTML爬取
这几天刷华东OJ的题,写博客还要复制HTML的代码,感觉麻烦的一批,然后就去摸鱼写了个小爬虫.. 看一下运行效果吧- 输入详细的pid.cid或id即可爬取相应的html代码 一些注意要点: 关键的还 ...
- cocurrent包 原子性数据类型
22. 原子性布尔 AtomicBoolean AtomicBoolean 类为我们提供了一个可以用原子方式进行读和写的布尔值,它还拥有一些先进的原子性操作,比如 compareAndSet().At ...
- 【JPA】JPA的注解@MappedSuperclass作用解释【转】
[代码参考地址]:GitHub地址 [原文地址][http://blog.sina.com.cn/s/blog_7085382f0100uk4p.html] [这里仅用到第三点为止] ======== ...
- VUE -- 十分钟入门 Less
这篇文章来自 Danny Markov, 是我最喜欢的博主之一,实际上我最近翻译的一些文章全是出自他手.在查看本文之前你也可以 查看原文. 我们都知道写 CSS 代码是有些枯燥无味的,尤其是面对那些成 ...
- numpy 多维数组的存取
多维数组的存取和一维数组类似,由于多维数组有多个轴,所以他的下标需要多个值来表示.这里讨论的主要是二维数组.二维数组0轴以行为单位,1轴以列为单位,存取数组使用元组作为下标,需要注意的是,python ...