关于分布式文档存储数据库MongoDB的介绍就不多说了,下面总结了一些常用的MongoDB命令行工具和Java API的使用方法。
命令行工具Mongo.exe
mongo.exe工具在bin目录下,启动MongoDB服务器后,打开开程序,即自动连接到服务器上,并切换当前数据库到test数据库。常用的命令有:
show dbs //显示数据库列表
show collections //显示当前数据库中的集合
show users //显示用户
user <db name> //切换当前数据库
db.help() //显示数据库操作命令
db.foo.help() //显示集合操作命令,foo是当前数据库下,一个叫foo的集合
db.foo.find() //对当前数据库下的foo集合进行查找,会列出所有数据
db.foo.find({p:1}) //查询当前数据库foo集合下有属性p并且值为1的对象
db.foo.insert({name:'Jack'}) //在foo集合下插入一条数据,name属性的值为'Jack'
db.foo.remove({name:'Jack'}) //删除foo集合下所有有name属性并且值为'Jack'的对象
Java Mongo操作
常用Java类
Mongo:用于执行一些数据库操作,如建立一个数据库等
DB:对应一个数据库,可以用来建立集合等
DBCollection:对应一个集合(类比关系数据库中的表),可用于增删改查对象
DBObject:接口,代表一个具体的记录。
BasicDBObject:实现了DBObject,由于是key-value结构,所以用起来和HashMap基本一致。
DBCursor:游标,用来遍历查询取得的数据,实现了Iterable和Iterator
建立数据库连接
Mongo m = new Mongo("localhost");//默认使用27017端口
DB db = m.getDB("test");//获得名为test的数据库,没有则创建
DBCollection students = db.getCollection("students"); //获得名为students的集合,没有则自动创建
查看MongoDB数据库列表
System.out.println(m.getDatabaseNames());
查看当前数据库下所有集合
System.out.println(db.getCollectionNames());
删除一个数据库
m.dropDatabase("test");
插入数据
BasicDBObject o = new BasicDBObject();
o.put("name", "jack");
students.insert(o);
查询数据
//条件查询,students集合下有属性name且值为"Jack"的对象
BasicDBObject cond = new BasicDBObject();
cond.put("name", "Jack");
DBCursor cur = students.find(cond);
while(cur.hasNext()){
System.out.println(cur.next());
}
//查询students集合下的所有对象
cur = students.find();
while(cur.hasNext()){
System.out.println(cur.next());
}
//查询students集合下的第一个对象
System.out.println(students.findOne());
//查询记录数量
System.out.println(students.find().count());
//查询部分数据块
cur = students.find().skip(0).limit(1);
while(cur.hasNext()){
System.out.println(cur.next());
}
//比较查询
//"$gt": 大于
//"$gte":大于等于
//"$lt": 小于
//"$lte":小于等于
//"$in": 包含
//查询age>19的学生
cond = new BasicDBObject();
cond.put("age", new BasicDBObject("$gt",19));
cur = students.find(cond);
while(cur.hasNext()){
System.out.println(cur.next());
}
//查询19<age<30的学生
cond = new BasicDBObject();
cond.put("age",new BasicDBObject("$gt",19).append("$lt", 30));
cur = students.find(cond);
while(cur.hasNext()){
System.out.println(cur.next());
}
//查询 age in (19,20)的学生
cond = new BasicDBObject();
int [] arr = {19,20};
cond.put("age",new BasicDBObject("$in",arr));
cur = students.find(cond);
while(cur.hasNext()){
System.out.println(cur.next());
}
//正则表达式查询
Pattern p = Pattern.compile("Ja?k");
cond = new BasicDBObject();
cond.put("name", p);
cur = students.find(cond);
while(cur.hasNext()){
System.out.println(cur.next());
}
更新操作
主要使用update(BasicObject, BasicObject)方法
第一个参数是查找条件,需要修改的对象,第二个参数是修改内容,如果不用set就是把原来的对象更新为现在的对象。
如果有$set那就是更新属性,如果属性不存在则添加。其他参数使用方法一样。
//更新name="Jack"的学生的年龄为21
students.update(new BasicDBObject("name","Jack"), new BasicDBObject("$set", new BasicDBObject("age",21)));
删除操作
//删除名为Jack的学生
BasicDBObject cond = new BasicDBObject();
cond.put("name", "Jack");
students.remove(cond);
分享到:
相关推荐
Mongodb 数据库 JAVA 增删改查操作例子
内部资料,mongodb的存储检索等。完整程序代码封装
该rar包中包括MOngoDB数据库操作基本的增删改查,以及在CMD命令行中怎么配置MOngodb和增删改查,还有就是连接mongoDB的jar包和详细的操作文档,本来想上传NOde.js来着,可是只能上传60兆,只能放弃了,不过这些已经...
本文给大家分享的是使用Java操作MongoDB的一些基本方法,包含多种数据库的连接方式,增删改查等方法,非常的实用,有需要的小伙伴可以参考下
在 MongoDB 中,可以通过 MongoDB Shell(mongo)或者使用各种可用的驱动程序(如Java驱动程序)执行数据库操作。以下是 MongoDB 中的一些基本数据库操作: ### 连接到数据库 ```bash # 连接到本地 MongoDB 实例 ...
使用java上传MP4文件至mongodb数据库,并下载
本篇文章现在我们就用Java来操作MongoDB的数据。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了java+MongoDB实现存图片、下载图片的方法,结合实例形式详细分析了java结合MongoDB实现图片的存储与下载相关操作技巧,需要的朋友可以参考下
演示了JAVA怎样操作mongodb数据库进行增删改查操作。
公司里要用mongodb数据库存放文件,给我一个星期的时间让我研究,这是我用mongodb数据库+struts写的小例子,能够实现人员的注册,头像的上传,帖子的管理。功能简单,主要让大家看看mongodb数据库的具体使用。文档写...
使用java向mongodb中插入数据 一、Linux安装mongodb 二、MongoDB客户端工具(MongoVUE)访问mongodb 三、通过Java操作MongoDB
mongoDB-CURD操作-----JAVA 对初学入门还是有点用处滴!
一个简单的测试工程,java使用mongodb数据库连接池,使用mongodb安全验证; 初始化连接池的信息;学习demo;代码
java 操作mongodb代码,可直接运行成功,作为初学者非常实用。其中数据库是包含用户名和密码,用户名root ,密码root。
使用java上传MP4文件至mongodb数据库,并下载 源代码
Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条记录都是一个Document对象。Mongo ...
java mongodb 连接
网易云课堂-『李兴华java培训23』MongoDB数据库-笔记 最后2节因为是JAVA开发环境,因为没有使用JAVA开发,所有使用的是截图。 基础课,没有哪么多的废话,听听还不错。
主要介绍了Java单例模式下的MongoDB数据库操作工具类,结合实例形式分析了java基于单例模式下操作MongoDB数据库相关连接、查询、插入、删除等操作封装技巧,需要的朋友可以参考下
mongodb Java连接池配置 用于避免Java连接mongodb数据库数过高引起的一系列问题