1.新建Project
新建Java Project,并把mongo-java-driver驱动加入到项目bulid path中,如果你使用的是maven增加依赖。
<
dependency
>
< groupId > org.mongodb </ groupId >
< artifactId > mongo-java-driver </ artifactId >
< version > 2.10.1 </ version >
</ dependency >
< groupId > org.mongodb </ groupId >
< artifactId > mongo-java-driver </ artifactId >
< version > 2.10.1 </ version >
</ dependency >
2.连接上MongoDB
//
>2.10版本
MongoClient mongo = new MongoClient( " localhost " , 27017 );
// 老版本
Mongo mongo = new Mongo( " localhost " , 27017 );
MongoClient mongo = new MongoClient( " localhost " , 27017 );
// 老版本
Mongo mongo = new Mongo( " localhost " , 27017 );
如果需要验证,需要输入用户名和密码
MongoClient mongoClient
=
new
MongoClient();
DB db = mongoClient.getDB( " database name " );
boolean auth = db.authenticate( " username " , " password " .toCharArray());
3.MongoDB数据库
DB db = mongoClient.getDB( " database name " );
boolean auth = db.authenticate( " username " , " password " .toCharArray());
得到MongoDB中的数据库,如果数据库名不存在,MongoDB会自动创建
DB db
=
mongo.getDB(
"
database name
"
);
显示所有的数据库
List
<
String
>
dbs
=
mongo.getDatabaseNames();
for (String db : dbs){
System.out.println(db);
}
4.MongoDB Collection(MongoDB表)
for (String db : dbs){
System.out.println(db);
}
得到数据库中的表
DB db
=
mongo.getDB(
"
testdb
"
);
DBCollection table = db.getCollection( " user " );
显示数据库中的所有表
DBCollection table = db.getCollection( " user " );
DB db
=
mongo.getDB(
"
testdb
"
);
Set < String > tables = db.getCollectionNames();
for (String coll : tables){
System.out.println(coll);
}
5.插入、查找、更新、删除操作
Set < String > tables = db.getCollectionNames();
for (String coll : tables){
System.out.println(coll);
}
插入数据,向Collection(表)中插入一个Document
DBCollection table
=
db.getCollection(
"
user
"
);
BasicDBObject document = new BasicDBObject();
document.put( " name " , " qiyadeng " );
document.put( " age " , 30 );
document.put( " createdDate " , new Date());
table.insert(document);
更新Document中的name="qiyadeng.com"
BasicDBObject document = new BasicDBObject();
document.put( " name " , " qiyadeng " );
document.put( " age " , 30 );
document.put( " createdDate " , new Date());
table.insert(document);
DBCollection table
=
db.getCollection(
"
user
"
);
BasicDBObject query = new BasicDBObject();
query.put( " name " , " qiyadeng " );
BasicDBObject newDocument = new BasicDBObject();
newDocument.put( " name " , " qiyadeng.com " );
BasicDBObject updateObj = new BasicDBObject();
updateObj.put( " $set " , newDocument);
table.update(query, updateObj);
从Collection中查找name="qiyadeng.com"的Document
BasicDBObject query = new BasicDBObject();
query.put( " name " , " qiyadeng " );
BasicDBObject newDocument = new BasicDBObject();
newDocument.put( " name " , " qiyadeng.com " );
BasicDBObject updateObj = new BasicDBObject();
updateObj.put( " $set " , newDocument);
table.update(query, updateObj);
DBCollection table
=
db.getCollection(
"
user
"
);
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put( " name " , " qiyadeng.com " );
DBCursor cursor = table.find(searchQuery);
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
删除name="qiyadeng"的Document
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put( " name " , " qiyadeng.com " );
DBCursor cursor = table.find(searchQuery);
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
DBCollection table
=
db.getCollection(
"
user
"
);
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put( " name " , " qiyadeng.com " );
table.remove(searchQuery);
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put( " name " , " qiyadeng.com " );
table.remove(searchQuery);
6.完整的例子
package
com.qiyadeng.mongodb;
import java.util.Date;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.MongoClient;
public class MongoDBSample {
public static void main(String[] args) throws Exception{
/** ** Connect to MongoDB *** */
// 2.10.0后,使用MongoClient
MongoClient mongo = new MongoClient( " localhost " , 27017 );
/** ** Get database *** */
// if database doesn't exists, MongoDB will create it for you
DB db = mongo.getDB( " testdb " );
/** ** Get collection / table from 'testdb' *** */
// if collection doesn't exists, MongoDB will create it for you
DBCollection table = db.getCollection( " user " );
/** ** Insert *** */
// create a document to store key and value
BasicDBObject document = new BasicDBObject();
document.put( " name " , " qiyadeng " );
document.put( " age " , 30 );
document.put( " createdDate " , new Date());
table.insert(document);
/** ** Find and display *** */
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put( " name " , " qiyadeng " );
DBCursor cursor = table.find(searchQuery);
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
/** ** Update *** */
// search document where name="qiyadeng" and update it with new values
BasicDBObject query = new BasicDBObject();
query.put( " name " , " qiyadeng " );
BasicDBObject newDocument = new BasicDBObject();
newDocument.put( " name " , " qiyadeng.com " );
BasicDBObject updateObj = new BasicDBObject();
updateObj.put( " $set " , newDocument);
table.update(query, updateObj);
/** ** Find and display *** */
BasicDBObject searchQuery2
= new BasicDBObject().append( " name " , " qiyadeng.com " );
DBCursor cursor2 = table.find(searchQuery2);
while (cursor2.hasNext()) {
System.out.println(cursor2.next());
}
}
}
import java.util.Date;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.MongoClient;
public class MongoDBSample {
public static void main(String[] args) throws Exception{
/** ** Connect to MongoDB *** */
// 2.10.0后,使用MongoClient
MongoClient mongo = new MongoClient( " localhost " , 27017 );
/** ** Get database *** */
// if database doesn't exists, MongoDB will create it for you
DB db = mongo.getDB( " testdb " );
/** ** Get collection / table from 'testdb' *** */
// if collection doesn't exists, MongoDB will create it for you
DBCollection table = db.getCollection( " user " );
/** ** Insert *** */
// create a document to store key and value
BasicDBObject document = new BasicDBObject();
document.put( " name " , " qiyadeng " );
document.put( " age " , 30 );
document.put( " createdDate " , new Date());
table.insert(document);
/** ** Find and display *** */
BasicDBObject searchQuery = new BasicDBObject();
searchQuery.put( " name " , " qiyadeng " );
DBCursor cursor = table.find(searchQuery);
while (cursor.hasNext()) {
System.out.println(cursor.next());
}
/** ** Update *** */
// search document where name="qiyadeng" and update it with new values
BasicDBObject query = new BasicDBObject();
query.put( " name " , " qiyadeng " );
BasicDBObject newDocument = new BasicDBObject();
newDocument.put( " name " , " qiyadeng.com " );
BasicDBObject updateObj = new BasicDBObject();
updateObj.put( " $set " , newDocument);
table.update(query, updateObj);
/** ** Find and display *** */
BasicDBObject searchQuery2
= new BasicDBObject().append( " name " , " qiyadeng.com " );
DBCursor cursor2 = table.find(searchQuery2);
while (cursor2.hasNext()) {
System.out.println(cursor2.next());
}
}
}
输出
{
"
_id
"
: {
"
$oid
"
:
"
51444c88874c79654063356b
"
} ,
"
name
"
:
"
qiyadeng
"
,
"
age
"
:
30
,
"
createdDate
"
: {
"
$date
"
:
"
2013-03-16T10:42:16.555Z
"
}}
{ " _id " : { " $oid " : " 51444c88874c79654063356b " } , " age " : 30 , " createdDate " : { " $date " : " 2013-03-16T10:42:16.555Z " } , " name " : " qiyadeng.com " }
{ " _id " : { " $oid " : " 51444c88874c79654063356b " } , " age " : 30 , " createdDate " : { " $date " : " 2013-03-16T10:42:16.555Z " } , " name " : " qiyadeng.com " }
使用mongo验证创建的数据库testdb,collection user是否存在。
原创文章,转载请注明: 转载自http://www.qiyadeng.com/
本文链接地址: Java和MongoDB之Hello World