本文已转移至新空间:http://xuexiyu.com/articleModule/lang/article/41.html
<dependency>
<groupId>org.mongodb</groupId><artifactId>mongo-java-driver</artifactId>
<version>3.4.0</version>
</dependency>
package com.pretang.controller;
import com.mongodb.BasicDBObject;
import com.mongodb.Block;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.bson.types.ObjectId;
import java.text.SimpleDateFormat;
import java.util.Date;
import static com.mongodb.client.model.Filters.eq;
import static com.mongodb.client.model.Filters.gt;
/**
* Created by lang.liu on 2017/1/17.
*/
public class test {
public static void main(String[] args) throws Exception{
// MongoCredential credential = MongoCredential.createCredential("admin", "local1", "admin".toCharArray());
// ServerAddress serverAddress= new ServerAddress("localhost",27017);
MongoClient mongoClient = new MongoClient("localhost",27017);
MongoDatabase db = mongoClient.getDatabase("local1");
System.out.println(db.getName());
// db.createCollection("testColl");
//获取一个集合
MongoCollection coll = db.getCollection("testColl");
//插入数据
// Document document = new Document("name","liu").append("info",new Document("create",new Date()));
Document document = new Document("name","liu").append("create",new Date());
coll.insertOne(document);
//数据读取
System.out.println(coll.count());
//查询集合中的第一个文档
Document myDoc = (Document)coll.find().first();
System.out.println(myDoc.toJson());
System.out.println();
//获取这个集合的全部数据
MongoCursor<Document> cursor = coll.find().sort(new BasicDBObject("create",-1)).iterator();
try {
while (cursor.hasNext())
{
System.out.println(cursor.next().toJson());
}
}catch (Exception e)
{
e.printStackTrace();
}
//根据id条件获取某个文档
// Document docum = (Document)coll.find(eq("_id", new ObjectId("587d7e7adeaed31324982536"))).first();
// System.out.println("某个:" + docum.toJson());
//根据时间条件查询部分文档
Block<Document> printBlock = new Block<Document>()
{
@Override
public void apply(Document document)
{
System.out.println("部分中的一个:" + document.toJson());
}
};
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long date = 1484635255434L;
Date isoDate = new Date(date);
/*FindIterable<Document> findIterable = *//*coll.find(gt("create", isoDate)).batchSize(1000).forEach(printBlock);*/
//System.out.println(findIterable.first());
// coll.find(new Document("info",new Document("create", new Document("$gt", new Date(1484635830592L))) )).forEach(printBlock);
coll.find(gt("info.create", new Date(1484635911843L))).forEach(printBlock);
// coll.updateOne(eq("_id",new ObjectId("587dbf35deaed3190452b7aa")),new Document("$set",new Document("info.create",new Date())));
//
// coll.deleteOne(eq("_id",new ObjectId("587dcc60deaed317e8254561")));
}
}