package com.mongodb.m101j.week2; import static com.mongodb.client.model.Projections.excludeId; import static com.mongodb.client.model.Projections.fields; import static com.mongodb.client.model.Projections.include; import static com.mongodb.client.model.Sorts.ascending; import static com.mongodb.client.model.Sorts.descending; import static com.mongodb.client.model.Sorts.orderBy; import java.util.ArrayList; import java.util.List; import org.bson.Document; import org.bson.conversions.Bson; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollection; import com.mongodb.client.MongoDatabase; import com.mongodb.m101j.util.Helpers; /** * * TODO Add element description, main objective and relations * * @author wilson * */ public class FindSortSkipLimitTest { public static void main(String[] args) { MongoClient client = new MongoClient(); MongoDatabase db = client.getDatabase("course"); MongoCollection<Document> coll = db.getCollection("FindSortSkipLimitTest"); coll.drop(); // insert 100 documents with two random integers for (int i = 0; i < 10; i++) { for (int j = 0; j < 10; j++) { coll.insertOne(new Document("i", i).append("j", j)); } } Bson projection = fields(include("i", "j"), excludeId()); // Bson sort = new Document("i", 1).append("j", -1); Bson sort = orderBy(ascending("i"), descending("j")); List<Document> all = coll.find()// .projection(projection)// .sort(sort)// .skip(20)// .limit(50)// .into(new ArrayList<Document>()); for (Document cur : all) { Helpers.printJson(cur); } } }