1、Java 应用示例
要使用Java操作MongoDB的话,要到官方网站下载一个驱动包,点击网站上的Drivers里面,可以看到目前支持的语言,非常的多……把包导入后,可以尝试来操作了(记得一定要开着服务器)
首先介绍一下比较常用的几个类
Mongo
:连接服务器,执行一些数据库操作的选项,如新建立一个数据库等
DB
:对应一个数据库,可以用来建立集合等操作
DBCollection
:对应一个集合(类似表),可能是我们用得最多的,可以添加删除记录等
DBObjec
:接口和BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,因为是key-value的数据结构,所以用起来其实和HashMap是基本一致的
DBCursor
:用来遍历取得的数据,实现了Iterable和Iterator
接下来实际的操作一下,代码如下:
import
java.net.UnknownHostException;
import
java.util.List;
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
MongoDbTest {
public
static
void
main(String[] args)
throws
UnknownHostException, MongoException {
//Mongo m = new Mongo();
//Mongo m = new Mongo("localhost");
Mongo m =
new
Mongo(
"localhost"
, 27017);
DB db = m.getDB(
"mytest"
);
Set<String> colls = db.getCollectionNames();
for
(String s : colls) {
System.
out
.println(s);
}
DBCollection coll = db.getCollection(
"testCollection"
);
BasicDBObject doc =
new
BasicDBObject();
doc.put(
"name"
,
"MongoDB"
);
doc.put(
"type"
,
"database"
);
doc.put(
"count"
, 1);
BasicDBObject info =
new
BasicDBObject();
info.put(
"x"
, 203);
info.put(
"y"
, 102);
doc.put(
"info"
, info);
coll.insert(doc);
DBObject myDoc = coll.findOne();
System.
out
.println(myDoc);
//Adding Multiple Documents
for
(
int
i=0; i < 100; i++) {
coll.insert(
new
BasicDBObject().append(
"i"
, i));
}
//Counting Documents in A Collection
System.
out
.println(coll.getCount());
//Using a Cursor to Get All the Documents
DBCursor
cur
= coll.find();
while
(
cur
.hasNext()) {
System.
out
.println(
cur
.next());
}
System.
out
.println(
"-------------华丽分隔线----------------------"
);
//Getting A Single Document with A Query
BasicDBObject query =
new
BasicDBObject();
query.put(
"i"
, 71);
cur
= coll.find(query);
System.
out
.println(
"查找i=71结果为:"
);
while
(
cur
.hasNext()) {
System.
out
.println(
cur
.next());
}
System.
out
.println(
"查找i=71结束!"
);
System.
out
.println(
"-------------华丽分隔线----------------------"
);
query =
new
BasicDBObject();
query.put(
"i"
,
new
BasicDBObject(
"$gt"
, 90));
// e.g. find all where i > 50
cur
= coll.find(query);
System.
out
.println(
"查找i>90结果为:"
);
while
(
cur
.hasNext()) {
System.
out
.println(
cur
.next());
}
System.
out
.println(
"查找i>90结束!"
);
System.
out
.println(
"-------------华丽分隔线----------------------"
);
/**
*
which
should
print
the
documents
where
i
>
50.
*
We
could
also
get
a
range,
say
20
< i <= 30 :
*/
query =
new
BasicDBObject();
query.put(
"i"
,
new
BasicDBObject(
"$gt"
, 20).append(
"$lte"
, 25));
// i.e. 20 < i <= 30
cur
= coll.find(query);
System.
out
.println(
"查找20 < i <= 25结果为:"
);
while
(
cur
.hasNext()) {
System.
out
.println(
cur
.next());
}
System.
out
.println(
"查找20 < i <= 25结束!"
);
System.
out
.println(
"-------------华丽分隔线----------------------"
);
//Creating An Index
coll.createIndex(
new
BasicDBObject(
"i"
, 1));
// create index on "i", ascending
//Getting a List of Indexes on a Collection
List<DBObject> list = coll.getIndexInfo();
System.
out
.println(
"Getting a List of Indexes on a Collection start..."
);
for
(DBObject o : list) {
System.
out
.println(o);
}
System.
out
.println(
"Getting a List of Indexes on a Collection end!"
);
System.
out
.println(
"-------------华丽分隔线----------------------"
);
System.
out
.println(
"Getting A List of Databases start..."
);
for
(String s : m.getDatabaseNames()) {
System.
out
.println(s);
}
System.
out
.println(
"Getting A List of Databases end"
);
System.
out
.println(
"-------------华丽分隔线----------------------"
);
System.
out
.println(
"Dropping A Database start..."
);
//m.dropDatabase("my_new_db");
System.
out
.println(
"Dropping A Database end!"
);
}
}
©著作权归作者所有:来自51CTO博客作者乐少黑板报的原创作品,如需转载,请注明出处,否则将追究法律责任
0
收藏
推荐专栏更多
猜你喜欢
啥是佩奇,从需要到研发
一次缓存性能问题排查
Java多线程编程总结
Java关键字final、static使用总结
java万年历简单制作
Java内部类的使用小结
Java中的main()方法详解
Java相对路径读取文件
Java线程:创建与启动
Java线程:线程的同步与锁
深入研究java.lang.ThreadLocal类
java.util.logging.Logger使用详解
MongoDB分片集群部署
Mongodb 分片集群部署
MongoDB lsm降低 disk lantency
Mongodb分片原理详解及架构部署
MongoDB Replica Set 部署
MongoDB(4.0)分片——大数据的处理之道
MongoDB基本操作、备份还原及用户管理
Yum安装MongoDB及数据库管理


扫一扫,领取大礼包
转载于:https://blog.51cto.com/jooben/350740
Ctrl+Enter 发布
发布
取消