Mongodb入门并使用java操作Mongodb
转载请注意出处:http://blog.csdn.net/zcm101
最近在学习NoSql,先从Mongodb入手,把最近学习的总结下。
Mongodb下载安装
Mongodb的下载安装就不详细说了,Mongodb是绿色免安装的,我装的是win32版本,点击下载,其它版本可以官网上下载,下载完后解压到E:\mongodb目录下,即E:\mongodb\mongodb-2.4.0,新建E:\mongodb\data文件夹,data用来存放数据库数据。
Mongodb启动关闭
启动命令行
cd E:\mongodb\mongodb-2.4.0\bin
mongod -dbpath E:\mongodb\data ——即启动数据库,并把E:\mongodb\data作为数据库存放路径,默认端口:27017
关闭的话很简单,直接在命令窗口Ctrl + C
访问Mongodb数据库
启动Mongodb的命令窗口不要动,新打开个命令窗口:
cd E:\mongodb\mongodb-2.4.0\bin
mongo.exe ——默认访问 localhost:27017
进去后就可以打些mongodb命令看看了,比如:db, db.getName()等,更多的命令网上找吧
java操作mongodb
不同的语言均可访问mongodb,为了java能访问mongodb,需要下载java驱动,mongo-2.10.1.jar。
在eclipse中新建java项目,并添加mongo-2.10.1.jar,下面是我的测试类
package com.test; 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; public class Main { private static Mongo mongo; private static DB db; private static DBCollection userInfos; private static void init() throws UnknownHostException{
mongo = new Mongo();
db = mongo.getDB("test");
for(String colName: db.getCollectionNames()){
print(colName);
}
userInfos = db.getCollection("userInfo");
}
public static void main(String[] args) {
try {
init();
// db.dropDatabase();
// add("test1", 11, "man");
// add("test2", 12, "man");
// add("test3", 13, "man");
// add("test4", 14, "man");
// remove("test2", 12, "");
findAll();
} catch (UnknownHostException e) {
e.printStackTrace();
}
} public static void findAll(){
DBCursor cur = userInfos.find();
while (cur.hasNext()) {
print(cur.next());
}
} public static void remove(String name, int age, String sex){
DBObject userInfo = new BasicDBObject();
if(name != null && name != ""){
userInfo.put("name", name);
}
if(age > 0){
userInfo.put("age", age);
}
if(sex != null && sex != ""){
userInfo.put("sex", sex);
} userInfos.remove(userInfo);
} public static void add(String name, int age, String sex) {
DBObject userInfo = new BasicDBObject();
userInfo.put("name", name);
userInfo.put("age", age);
userInfo.put("sex", sex); userInfos.insert(userInfo);
} public static void print(Object obj){
System.out.println(obj);
}
}
执行过add后,输出结果:
system.indexes
userInfo
{ "_id" : { "$oid" : "521eebd8e617429aebd917e1"} , "name" : "test1" , "age" : 11 , "sex" : "man"}
{ "_id" : { "$oid" : "521eebd8e617429aebd917e2"} , "name" : "test2" , "age" : 12 , "sex" : "man"}
{ "_id" : { "$oid" : "521eebd8e617429aebd917e3"} , "name" : "test3" , "age" : 13 , "sex" : "man"}
{ "_id" : { "$oid" : "521eebd8e617429aebd917e4"} , "name" : "test4" , "age" : 14 , "sex" : "man"}
Mongodb是文档型数据库,数据存储格式是json,不需要初始新建数据库,表,字段等,在连接mongodb并操作时,会自动创建。
下一篇将会介绍使用spring的mongoTemplate操作mongodb。
Mongodb入门并使用java操作Mongodb的更多相关文章
- Mongodb快速入门之使用Java操作Mongodb
[IT168 专稿]在上一篇文章中,我们学习了Mongodb的安装和初步使用,在本文中,将学习如何使用Java去编程实现对Mongodb的操作. HelloWorld程序 学习任何程序的第一步,都是编 ...
- MongoDB(六)java操作mongodb增删改查
java操作mysql数据库的代码我们已经了如指掌了.增删改查,java对mongodb数据库也是类似的操作,先是数据库连接.再是进行操作. 首先我们进入进入admin数据库.然后建立自己的数据库te ...
- MongoDB(3)--Java 操作 MongoDB 的 API
引入mongoDb 依赖 <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-j ...
- 【MongoDB for Java】Java操作MongoDB
上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html介绍到了在MongoDB的控制台完成MongoDB的数据操作,通过 ...
- JAVA操作MongoDB数据库
1. 首先,下载MongoDB对Java支持的驱动包 驱动包下载地址:https://github.com/mongodb/mongo-java-driver/downloads 2.Java操作Mo ...
- [转]MongoDB for Java】Java操作MongoDB
原文地址: MongoDB for Java]Java操作MongoDB 开发环境: System:Windows IDE:eclipse.MyEclipse 8 Database:mongoDB 开 ...
- Java操作MongoDB
上一篇文章: http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html 介绍到了在MongoDB的控制台完成MongoDB的数据操作,通 ...
- 浅谈如何用Java操作MongoDB
NoSQL数据库因其可扩展性使其变得越来越流行,利用NoSQL数据库可以给你带来更多的好处,MongoDB是一个用C++编写的可度可扩展性的开源NoSQL数据库.本文主要讲述如何使用Java操作Mon ...
- java操作mongodb(连接池)(转)
原文链接: java操作mongodb(连接池) Mongo的实例其实就是一个数据库连接池,这个连接池里默认有10个链接.我们没有必要重新实现这个链接池,但是我们可以更改这个连接池的配置.因为Mong ...
随机推荐
- Oracle EBS-SQL (BOM-8):检查物料属性(无采购员).sql
select msi.segment1 物料编码, msi.DESCRIPTION ...
- OS X 键盘快捷键
了解有关常见 OS X 键盘快捷键的信息.键盘快捷键是通过按下键盘上的组合键来调用 OS X 功能的一种方式. 若要使用键盘快捷键或按键组合,您可以同时按修饰键和字符键.例如,同时按下 Command ...
- QTcpSocket 及 TCP粘包分析
----我的生活,我的点点滴滴!! 这两天用Qt简单的实现一个tcp多线程client,在此记录下知识. 一.长连接与短连接 1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开 ...
- GDKOI 2016
GDKOI 2016 day 1 第一题 魔卡少女 题目描述:维护一个序列,能进行以下两个操作:1.将某一个位置的值改变.2.求区间的连续子串的异或值的和. solution 因为序列的数的值都小于\ ...
- poj1484---判断保险丝是否烧断
题目输入要求: 2 2 10 //设备数n 接下来的操作数m 保险丝能承受最大电流c5 //电器1的电流7 //2的电流1 //反转开关12 //反转开关2 思路:设置一个flag数组,记得每次 ...
- 深入理解java String 对象的不可变性
下面我们通过一组图表来解释Java字符串的不可变性 1.声明一个String对象 String s = "abcd"; 2.将一个String变量赋值给另一个String变量 St ...
- Linux学习之第十九、条件判断
原文地址:http://vbird.dic.ksu.edu.tw/linux_basic/0340bashshell-scripts_4.php 条件判断式 只要讲到『程序』的话,那么条件判断式,亦即 ...
- 自己主动下载源代码_并编译_打包_部署_重新启动服务的Shell脚本
这里面Shell的各个操作含义,可參考我三年前的这篇文章:http://blog.csdn.net/jadyer/article/details/7960802 #!/bin/sh APP_NAME= ...
- Service的基本组成
Service与Activity的最大区别就是一有界面,一个没有界面. 如果某些程序操作很消耗时间,那么可以将这些程序定义在Service之中,这样就可以完成程序的后台运行, 其实Service就是一 ...
- Visual Studio使用技巧
编程部分: 1.TODO:书签 打开之后返回上次工作的位置.让我们不再用脑子去记忆,去回顾刚刚工作到的部分. 操作非常easy.例如以下代码所看到的: public DataTable SelectB ...