整个过程也是比较简单的,就是比较繁琐,这就是OOP的特性!
package common;
import java.util.function.Consumer;
import org.bson.Document;
import com.mongodb.Block;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.MongoIterable;
public class Demo1 {
public static boolean isExists = false;
public static MongoClient client = new MongoClient("localhost", 12345);
public static void main(String[] args) {
MongoDatabase db = client.getDatabase("scala");
MongoIterable<String> iterator = db.listCollectionNames();
boolean isE = isExistsCol(iterator, "collect1");
// 1.创建col
if (!isE) {
db.createCollection("collect1");
}
MongoCollection<Document> coll = null;
// 2.获取文档
if (isE) {
coll = db.getCollection("collect1");
}
// 3.插入文档
Document doc = new Document("title", "mongiDb")//
.append("description", "database")//
.append("likes", 100)//
.append("url", "http://www.tutorialspoint.com/mongodb/")//
.append("by", "tutorials point");
coll.insertOne(doc);
// 4.获取所有文
FindIterable<Document> cursor = coll.find();
cursor.forEach(new Consumer<Document>() {
@Override
public void accept(Document t) {
System.out.println(t.toJson().toString());
}
});
// 5.更新文档
coll.findOneAndReplace(new Document("title", "mongiDb"),
new Document("title", "mongiDb2")//
.append("description", "database")//
.append("likes", 100)//
.append("url", "http://www.tutorialspoint.com/mongodb/")//
.append("by", "tutorials point"));
// 6.删除文档
coll.deleteOne(new Document("title", "mongiDb2"));
}
/**
* 判断是否已经存在col
*
* @param ite
* @param colName
* @return
*/
public static boolean isExistsCol(MongoIterable<String> ite, String colName) {
ite.forEach(new Block<String>() {
@Override
public void apply(String name) {
if (name.equals(colName)) {
isExists = true;
}
}
});
return isExists;
}
}