mongodb java crud_MongoDB用Java,简单的CRUD操作,两种方法,附源码下载。
兩種不同的連接數(shù)據(jù)庫的方式來操作。
MongoClient mongoClient = new MongoClient( “l(fā)ocalhost” , 27017 );
方法1:
DB db = mongoClient.getDB( DBName );
package com.zhl.test;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import org.bson.Document;
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.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
import com.mongodb.client.model.Filters;
public class CRUD {
public static void main(String[] args) {
CRUD crud = new CRUD();
crud.conn("test");
/*crud.findAll();
crud.insertOne();
crud.findAll();
crud.insertMany();
crud.findAll();*/
// crud.findSome();
crud.findAll();
crud.delete();
crud.findAll();
crud.deleteAll();
crud.findAll();
}
MongoClient mongoClient;
MongoDatabase db ;
public void insertOne(){
//插入文檔
/**
* 1. 創(chuàng)建文檔 org.bson.Document 參數(shù)為key-value的格式
* 2. 創(chuàng)建文檔集合List
* 3. 將文檔集合插入數(shù)據(jù)庫集合中 mongoCollection.insertMany(List) 插入單個文檔可以用 mongoCollection.insertOne(Document)
* */
MongoCollection collection = db.getCollection("test");
Document document = new Document("title", "MongoDB").
append("description", "database").
append("likes", 100).
append("by", "Fly");
collection.insertOne(document);
System.out.println("新增單個文檔成功");
}
public void insertMany(){
//插入文檔
/**
* 1. 創(chuàng)建文檔 org.bson.Document 參數(shù)為key-value的格式
* 2. 創(chuàng)建文檔集合List
* 3. 將文檔集合插入數(shù)據(jù)庫集合中 mongoCollection.insertMany(List) 插入單個文檔可以用 mongoCollection.insertOne(Document)
* */
MongoCollection collection = db.getCollection("test");
Document document1 = new Document("title", "MongoDB1").
append("description", "database1").
append("likes", 1001).
append("by", "Fly1");
Document document2 = new Document("title", "MongoDB2").
append("description", "database2").
append("likes", 1002).
append("by", "Fly2");
Document document3 = new Document("title", "MongoDB3").
append("description", "database3").
append("likes", 1003).
append("by", "Fly3");
List documents = new ArrayList();
documents.add(document1); documents.add(document2); documents.add(document3);
collection.insertMany(documents);
System.out.println("批量文檔新增成功");
}
//獲取所有文檔
public void findAll(){
MongoCollection doc = db.getCollection("test");
System.out.println("mycolbbb表數(shù)量:"+doc.count());
FindIterable findIterable = doc.find();
MongoCursor mongoCursor = findIterable.iterator();
while(mongoCursor.hasNext()){
System.out.println(mongoCursor.next());
}
}
//獲得所有符合條件的文檔
public void findSome(){
MongoCollection doc = db.getCollection("test");
FindIterable t = doc.find( new Document("likes",100));
MongoCursor a = t.iterator();
while(a.hasNext()){
System.out.println(a.next());
}
a.close();
}
//修改
public void update(){
MongoCollection doc = db.getCollection("test");
doc.updateMany(Filters.eq("likes", 100), new Document("$set",new Document("likes",200)));
System.out.println("update:");
}
//刪除一條符合條件的文檔
public void delete(){
//刪除符合條件的第一個文檔
MongoCollection doc = db.getCollection("test");
doc.deleteOne(Filters.eq("likes", 1001));
}
//刪除所有符合條件的文檔
public void deleteAll(){
//刪除所有符合條件的文檔
MongoCollection doc = db.getCollection("test");
doc.deleteMany (Filters.eq("likes", 200));
}
public void conn(String DBName){
mongoClient = new MongoClient( "localhost" , 27017 );
db = mongoClient.getDatabase(DBName);//訪問 “test” 數(shù)據(jù)庫
}
}
方法2:
MongoDatabase db = mongoClient.getDatabase(DBName);//訪問 數(shù)據(jù)庫
package com.zhl.test;
import com.mongodb.BasicDBObject;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBCursor;
import com.mongodb.DBObject;
import com.mongodb.MongoClient;
public class CRUD2 {
DB db;
/*CRUD2(){
String DBName = "test";
this.db = conn(DBName);
}*/
public static void main(String[] args) {
CRUD2 mongo = new CRUD2();
String DBName = "test";
mongo.db = mongo.conn(DBName);
//mongo.findAll("mycolbbb");
BasicDBObject query = new BasicDBObject();
//query = new BasicDBObject();
query.put("title", "MongoDB"); // 20 < i <= 30 new BasicDBObject("$gt", 20).append("$lte", 900000)
//query.put("_id", new ObjectId("58ca2a3101ccf929c8fd4d79")); //where likes = 840023
mongo.findOne("mycolbbb", query);
//query.put("title","MongoDB");
//mongo.findAll("mycolbbb", query);
/*query.put("title","MongoDB");
BasicDBObject res = new BasicDBObject();
res.put("天王蓋地虎", "寶塔鎮(zhèn)河妖");
BasicDBObject value = new BasicDBObject();
value.put("$set", res);
mongo.update("mycolbbb", query, value);*/
//mongo.findAll("mycolbbb");
//BasicDBObject query = new BasicDBObject();
//query = new BasicDBObject();
//query.put("title", "MongoDB"); // 20 < i <= 30 new BasicDBObject("$gt", 20).append("$lte", 900000)
//query.put("description", "database3"); //where description = database3
//query.put("_id",new ObjectId("58ca2a3101ccf929c8fd4d79"));//指定id刪除
//mongo.deleteAll("mycolbbb", query);
//System.out.println("__________________已刪除——————————————————————————");
//mongo.findAll("mycolbbb");
/*System.out.println("__________________開始新增——————————————————————————");
for(int i = 0; i<10000; i++){
query = new BasicDBObject("title", "MongoDB").
append("description", "database3").
append("likes", 1003).
append("url", "http://www.朱宏亮.com/mongodb3/").
append("by", "朱宏亮.com3");
mongo.insert("mycolbbb", query);
}*/
DBCursor cursor = mongo.findAll("mycolbbb");
System.out.println("length:"+cursor.length()+"\t count():"+cursor.count()+"\t itcount():"+cursor.itcount());
}
public void insert(String tableName, BasicDBObject query){
DBCollection coll = db.getCollection(tableName);
coll.insert(query);
}
//獲取所有文檔
public DBCursor findAll(String tableName){
//DB db = conn();
DBCursor cursor;
DBCollection coll = db.getCollection(tableName);
cursor = coll.find();
System.out.println("數(shù)量:"+cursor.count());
/*while(cursor.hasNext()) {
System.out.println(cursor.next());
} */
//cursor.close();
return cursor;
}
//符合條件的第一個
public void findOne(String tableName, BasicDBObject query){
DBObject cursor;
DBCollection coll = db.getCollection(tableName);
cursor = coll.findOne(query);
System.out.println(cursor.toString());
for(String a : cursor.keySet()){
System.out.println(a+"\t"+cursor.get(a));
}
}
//獲得所有符合條件的文檔
public void findAll(String tableName, BasicDBObject query){
DBCursor cursor;
DBCollection coll = db.getCollection(tableName);
cursor = coll.find(query);
//System.out.println(cursor.toString());
System.out.println("數(shù)量:"+cursor.count());
/*while(cursor.hasNext()) {
System.out.println(cursor.next());
} */
cursor.close();
}
//修改
public void update(String tableName, BasicDBObject query, BasicDBObject value){
DBCollection coll = db.getCollection(tableName);
int num = coll.update(query,value,false,true).getN();
System.out.println("刪除:"+num);
}
//刪除一條符合條件的文檔
public void delete(String tableName, BasicDBObject query){
DBCollection coll = db.getCollection(tableName);
DBObject myDoc = coll.findOne(query);
int num = coll.remove(myDoc).getN();//刪除
System.out.println("刪除:"+num);
}
//刪除所有符合條件的文檔
public void deleteAll(String tableName, BasicDBObject query){
DBCollection coll = db.getCollection(tableName);
int num = coll.remove(query).getN();//刪除
System.out.println("刪除:"+num);
}
public DB conn(String DBName){
MongoClient mongoClient = new MongoClient( "localhost" , 27017 );
DB db = mongoClient.getDB( DBName );
return db;
}
}
總結(jié)
以上是生活随笔為你收集整理的mongodb java crud_MongoDB用Java,简单的CRUD操作,两种方法,附源码下载。的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 时间生成字符串_java随机生
- 下一篇: 怎样用证书积分落户啊,我想在深圳落户,大