imort java.util.ArrayList;
import java.util.List;
import org.bson.Document;
import org.bson.conversions.Bson;
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.model.Filters;
public class Mongodb1 {
//建立Mongodb连接
MongoClient conn = null;
//定义一个Mongo数据库对象
static MongoDatabase db = null;
//创建一个构造函数
public Mongodb1(String dbName) {
conn = new MongoClient("127.0.1");
db = conn.getDatabase(dbName);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
//连接到学生成绩数据库
Mongodb1 mongodb = new Mongodb1("xscj");
//创建一个集合
//db.createCollection("stu");
/**//定义一个文档对象来存放数据
Document doc = new Document();
//用put方法来存放数据
doc.put("name", "zs");
doc.put("age", "25");
//向文档中添加一个数组数据
List books = new ArrayList();
books.add("C");
books.add("Java");
books.add("jsp");
//将数组添加到文档中
doc.put("books1", books);
//向集合中插入(一条)文档
MongoCollection coll1 = db.getCollection("stu");
coll1.insertOne(doc);
*/
/**//批量插入
Document doc1=new Document();
doc1.put("name", "jim");
doc1.put("age",20);
Document doc2=new Document();
doc2.put("name", "tom");
doc2.put("age", 20);
List books = new ArrayList();
books.add("C1");
books.add("ja1");
books.add("js1");
doc2.put("books2",books);
List docs = new ArrayList();
docs.add(doc1);
docs.add(doc2);
MongoCollection coll1 = db.getCollection("stu");
coll1.insertMany(docs);
*/
/**
//如何删除文档
Document param = new Document();
param.append("name", "jim");
MongoCollection coll1 = db.getCollection("stu");
coll1.deleteOne(param);
*/
/**
//更新mongoDB数据,用Filters过滤器来实现条件查询
MongoCollection coll1 = db.getCollection("stu");
Document update = new Document();
update.append("$set", new Document("email","tom@nuc"));
coll1.updateOne(Filters.eq("name", "tom"), update);
*/
//条件查询,多条件查询,用到Bson对象
MongoCollection coll1 = db.getCollection("persons");
Bson filter = Filters.and(Filters.gte("age",26),Filters.lte("e", 80));
//将插入文档中的数据显示出来,返回结果是一个迭代类对象
FindIterable findIter = coll1.find(filter);
//迭代类方法返回一个游标对象
MongoCursor cur = findIter.iterator();
//通过游标来访问数据
while(cur.hasNext()) {
Document doc = cur.next();
System.out.println(doc.get("name")+">>"+doc.get("age")+">>"
+">>"+doc.get("e")+">>"
);
}
}
}