Read

Import restaurants collection

wget https://www.dropbox.com/s/bfi06m1fvemzj69/primer-dataset-small.json

mongoimport --uri "mongodb+srv://admatic:admatic123@admatic-cluster-7qyyr.mongodb.net/admatic-db" \
    --collection restaurants --drop --file primer-dataset-small.json
2019-02-25T16:23:06.163+0000    connected to: localhost
2019-02-25T16:23:06.323+0000    dropping: admatic-db.restaurants
2019-02-25T16:23:06.696+0000    imported 10 documents

Code

mkdir -p src/main/java/com/admatic/primer

vim src/main/java/com/admatic/primer/QueryPrimer.java
package com.admatic.primer;

import com.mongodb.client.MongoClient;
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;

import org.bson.Document;
import com.mongodb.Block;
import com.mongodb.client.FindIterable;

import static com.mongodb.client.model.Filters.and;
import static com.mongodb.client.model.Filters.eq;
import static com.mongodb.client.model.Filters.gt;
import static com.mongodb.client.model.Filters.lt;
import static com.mongodb.client.model.Filters.or;
import static com.mongodb.client.model.Sorts.ascending;

import static java.util.Arrays.asList;

import java.util.logging.Level;
import java.util.logging.Logger;

public class QueryPrimer {

    private static void queryAll(MongoDatabase db) {
        FindIterable<Document> iterable = db.getCollection("restaurants").find();

        iterable.forEach(new Block<Document>() {
            @Override
            public void apply(final Document document) {
                System.out.println(document);
            }
        });
    }

    private static void queryTopLevelField(MongoDatabase db) {
        FindIterable<Document> iterable = db.getCollection("restaurants").find(
                new Document("borough", "Brooklyn"));

        iterable.forEach(new Block<Document>() {
            @Override
            public void apply(final Document document) {
                System.out.println(document);
            }
        });
    }

    private static void queryEmbeddedDocument(MongoDatabase db) {
        FindIterable<Document> iterable = db.getCollection("restaurants").find(
                new Document("address.zipcode", "11369"));

        iterable.forEach(new Block<Document>() {
            @Override
            public void apply(final Document document) {
                System.out.println(document);
            }
        });
    }

    private static void queryFieldInArray(MongoDatabase db) {
        FindIterable<Document> iterable = db.getCollection("restaurants").find(
                new Document("grades.grade", "Z"));

        iterable.forEach(new Block<Document>() {
            @Override
            public void apply(final Document document) {
                System.out.println(document);
            }
        });
    }

    private static void logicalAnd(MongoDatabase db) {
        FindIterable<Document> iterable = db.getCollection("restaurants").find(
                new Document("cuisine", "American").append("address.zipcode", "11219"));

        iterable.forEach(new Block<Document>() {
            @Override
            public void apply(final Document document) {
                System.out.println(document);
            }
        });
    }

    private static void logicalOr(MongoDatabase db) {
        FindIterable<Document> iterable = db.getCollection("restaurants").find(
                new Document("$or", asList(new Document("cuisine", "American"),
                        new Document("address.zipcode", "10019"))));

        iterable.forEach(new Block<Document>() {
            @Override
            public void apply(final Document document) {
                System.out.println(document);
            }
        });
    }

    private static void greaterThan(MongoDatabase db) {
        FindIterable<Document> iterable = db.getCollection("restaurants").find(
                new Document("grades.score", new Document("$gt", 30)));

        iterable.forEach(new Block<Document>() {
            @Override
            public void apply(final Document document) {
                System.out.println(document);
            }
        });
    }

    private static void lessThan(MongoDatabase db) {
        FindIterable<Document> iterable = db.getCollection("restaurants").find(
                new Document("grades.score", new Document("$lt", 5)));

        iterable.forEach(new Block<Document>() {
            @Override
            public void apply(final Document document) {
                System.out.println(document);
            }
        });
    }

    private static void sort(MongoDatabase db) {
        FindIterable<Document> iterable = db.getCollection("restaurants").find()
                .sort(new Document("borough", 1).append("address.zipcode", 1));

        iterable.forEach(new Block<Document>() {
            @Override
            public void apply(final Document document) {
                System.out.println(document);
            }
        });
    }

    public static void main(final String[] args) {
        Logger mongoLogger = Logger.getLogger("org.mongodb.driver");
        mongoLogger.setLevel(Level.SEVERE);

        MongoClient mongoClient;

        if (args.length == 0) {
            mongoClient = MongoClients.create();
        } else {
            mongoClient = MongoClients.create(args[0]);
        }

        MongoDatabase database = mongoClient.getDatabase("admatic-db");

        switch (args[1]) {
            case "0":
                System.out.println("queryAll");
                queryAll(database);
                break;

            case "1":
                System.out.println("queryTopLevelField");
                queryTopLevelField(database);
                break;
            case "2":
                System.out.println("queryEmbeddedDocument");
                queryEmbeddedDocument(database);
                break;
            case "3":
                System.out.println("queryFieldInArray");
                queryFieldInArray(database);
                break;

            case "4":
                System.out.println("logicalAnd");
                logicalAnd(database);
                break;
            case "5":
                System.out.println("logicalOr");
                logicalOr(database);
                break;

            case "6":
                System.out.println("greaterThan");
                greaterThan(database);
                break;
            case "7":
                System.out.println("lessThan");
                lessThan(database);
                break;

            case "8":
                System.out.println("sort");
                sort(database);
                break;

            default:
                System.out.println("Enter an option between 0 and 8");
        }

        mongoClient.close();
    }
}

Compile

mvn compile

Run

Query All

db.getCollection("restaurants").find()

mvn exec:java -Dexec.mainClass=com.admatic.primer.QueryPrimer \
    -Dexec.args="mongodb+srv://admatic:admatic123@admatic-cluster-7qyyr.mongodb.net/test 0"
queryAll
Document{{_id=5c741be4cf90d4dbd8427bdb, address=Document{{building=2780, coord=[-73.98241999999999, 40.579505], street=Stillwell Avenue, zipcode=11224}}, borough=Brooklyn, cuisine=American, grades=[Document{{date=Tue Jun 10 05:30:00 IST 2014, grade=A, score=5}}, Document{{date=Wed Jun 05 05:30:00 IST 2013, grade=A, score=7}}, Document{{date=Fri Apr 13 05:30:00 IST 2012, grade=A,score=12}}, Document{{date=Wed Oct 12 05:30:00 IST 2011, grade=A, score=12}}], name=Riviera Caterer, restaurant_id=40356018}}
Document{{_id=5c741be4cf90d4dbd8427bdc, address=Document{{building=1007, coord=[-73.856077, 40.848447], street=Morris Park Ave, zipcode=10462}}, borough=Bronx, cuisine=Bakery, grades=[Document{{date=Mon Mar 03 05:30:00 IST 2014, grade=A, score=2}}, Document{{date=Wed Sep 11 05:30:00 IST 2013, grade=A, score=6}}, Document{{date=Thu Jan 24 05:30:00 IST 2013, grade=A, score=10}}, Document{{date=Wed Nov 23 05:30:00 IST 2011, grade=A, score=9}}, Document{{date=Thu Mar 10 05:30:00 IST 2011, grade=B, score=14}}], name=Morris Park Bake Shop, restaurant_id=30075445}}
Document{{_id=5c741be4cf90d4dbd8427bdd, address=Document{{building=97-22, coord=[-73.8601152, 40.7311739], street=63 Road, zipcode=11374}}, borough=Queens, cuisine=Jewish/Kosher, grades=[Document{{date=Mon Nov 24 05:30:00 IST 2014, grade=Z, score=20}}, Document{{date=Thu Jan 17 05:30:00 IST 2013, grade=A, score=13}}, Document{{date=Thu Aug 02 05:30:00 IST 2012, grade=A, score=13}}, Document{{date=Thu Dec 15 05:30:00 IST 2011, grade=B, score=25}}], name=Tov Kosher Kitchen, restaurant_id=40356068}}
Document{{_id=5c741be4cf90d4dbd8427bde, address=Document{{building=469, coord=[-73.961704, 40.662942], street=Flatbush Avenue, zipcode=11225}}, borough=Brooklyn, cuisine=Hamburgers, grades=[Document{{date=Tue Dec 30 05:30:00 IST 2014, grade=A, score=8}}, Document{{date=Tue Jul 01 05:30:00 IST 2014, grade=B, score=23}}, Document{{date=Tue Apr 30 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Tue May 08 05:30:00 IST 2012, grade=A, score=12}}], name=Wendy'S, restaurant_id=30112340}}
Document{{_id=5c741be4cf90d4dbd8427bdf, address=Document{{building=2206, coord=[-74.1377286, 40.6119572], street=Victory Boulevard, zipcode=10314}}, borough=Staten Island, cuisine=Jewish/Kosher, grades=[Document{{date=Mon Oct 06 05:30:00 IST 2014, grade=A, score=9}}, Document{{date=Tue May 20 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Thu Apr 04 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Tue Jan 24 05:30:00 IST 2012, grade=A, score=9}}], name=Kosher Island, restaurant_id=40356442}}
Document{{_id=5c741be4cf90d4dbd8427be0, address=Document{{building=7114, coord=[-73.9068506, 40.6199034], street=Avenue U, zipcode=11234}}, borough=Brooklyn, cuisine=Delicatessen, grades=[Document{{date=Thu May 29 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Tue Jan 14 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Sat Aug 03 05:30:00 IST 2013, grade=A, score=8}}, Document{{date=Wed Jul 18 05:30:00 IST 2012, grade=A, score=10}}, Document{{date=Fri Mar 09 05:30:00 IST 2012, grade=A, score=13}}, Document{{date=Fri Oct 14 05:30:00 IST 2011, grade=A, score=9}}], name=Wilken'S Fine Food, restaurant_id=40356483}}
Document{{_id=5c741be4cf90d4dbd8427be1, address=Document{{building=1839, coord=[-73.9482609, 40.6408271], street=Nostrand Avenue, zipcode=11226}}, borough=Brooklyn, cuisine=Ice Cream, Gelato, Yogurt, Ices, grades=[Document{{date=Mon Jul 14 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Wed Jul 10 05:30:00 IST 2013, grade=A, score=8}}, Document{{date=Wed Jul 11 05:30:00 IST 2012, grade=A, score=5}}, Document{{date=Thu Feb 23 05:30:00 IST 2012, grade=A, score=8}}], name=Taste The Tropics Ice Cream, restaurant_id=40356731}}
Document{{_id=5c741be4cf90d4dbd8427be2, address=Document{{building=6409, coord=[-74.00528899999999, 40.628886], street=11 Avenue, zipcode=11219}}, borough=Brooklyn, cuisine=American, grades=[Document{{date=Fri Jul 18 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Tue Jul 30 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Wed Feb 13 05:30:00 IST 2013, grade=A, score=11}}, Document{{date=Thu Aug 16 05:30:00 IST 2012, grade=A, score=2}}, Document{{date=Wed Aug 17 05:30:00 IST 2011, grade=A, score=11}}], name=Regina Caterers, restaurant_id=40356649}}
Document{{_id=5c741be4cf90d4dbd8427be3, address=Document{{building=8825, coord=[-73.8803827, 40.7643124], street=Astoria Boulevard, zipcode=11369}}, borough=Queens, cuisine=American, grades=[Document{{date=Sat Nov 15 05:30:00 IST 2014, grade=Z, score=38}}, Document{{date=Fri May 02 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Sat Mar 02 05:30:00 IST 2013, grade=A, score=7}}, Document{{date=Fri Feb 10 05:30:00 IST 2012, grade=A, score=13}}], name=Brunos On The Boulevard, restaurant_id=40356151}}
Document{{_id=5c741be4cf90d4dbd8427be4, address=Document{{building=351, coord=[-73.98513559999999, 40.7676919], street=West   57 Street, zipcode=10019}}, borough=Manhattan, cuisine=Irish, grades=[Document{{date=Sat Sep 06 05:30:00 IST 2014, grade=A, score=2}}, Document{{date=Mon Jul 22 05:30:00 IST 2013, grade=A, score=11}}, Document{{date=Tue Jul 31 05:30:00 IST 2012, grade=A, score=12}}, Document{{date=Thu Dec 29 05:30:00 IST 2011, grade=A, score=12}}], name=Dj Reynolds Pub And Restaurant, restaurant_id=30191841}}

Query Top-Level Field

db.getCollection("restaurants").find(new Document("borough", "Brooklyn"))

mvn exec:java -Dexec.mainClass=com.admatic.primer.QueryPrimer \
    -Dexec.args="mongodb+srv://admatic:admatic123@admatic-cluster-7qyyr.mongodb.net/test 1"
queryTopLevelField
Document{{_id=5c741be4cf90d4dbd8427bdb, address=Document{{building=2780, coord=[-73.98241999999999, 40.579505], street=Stillwell Avenue, zipcode=11224}}, borough=Brooklyn, cuisine=American, grades=[Document{{date=Tue Jun 10 05:30:00 IST 2014, grade=A, score=5}}, Document{{date=Wed Jun 05 05:30:00 IST 2013, grade=A, score=7}}, Document{{date=Fri Apr 13 05:30:00 IST 2012, grade=A, score=12}}, Document{{date=Wed Oct 12 05:30:00 IST 2011, grade=A, score=12}}], name=Riviera Caterer, restaurant_id=40356018}}
Document{{_id=5c741be4cf90d4dbd8427bde, address=Document{{building=469, coord=[-73.961704, 40.662942], street=Flatbush Avenue, zipcode=11225}}, borough=Brooklyn, cuisine=Hamburgers, grades=[Document{{date=Tue Dec 30 05:30:00 IST 2014, grade=A, score=8}}, Document{{date=Tue Jul 01 05:30:00 IST 2014, grade=B, score=23}}, Document{{date=Tue Apr 30 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Tue May 08 05:30:00 IST 2012, grade=A, score=12}}], name=Wendy'S, restaurant_id=30112340}}
Document{{_id=5c741be4cf90d4dbd8427be0, address=Document{{building=7114, coord=[-73.9068506, 40.6199034], street=Avenue U, zipcode=11234}}, borough=Brooklyn, cuisine=Delicatessen, grades=[Document{{date=Thu May 29 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Tue Jan 14 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Sat Aug 03 05:30:00 IST 2013, grade=A, score=8}}, Document{{date=Wed Jul 18 05:30:00 IST 2012, grade=A, score=10}}, Document{{date=Fri Mar 09 05:30:00 IST 2012, grade=A, score=13}}, Document{{date=Fri Oct 14 05:30:00 IST 2011, grade=A, score=9}}], name=Wilken'S Fine Food, restaurant_id=40356483}}
Document{{_id=5c741be4cf90d4dbd8427be1, address=Document{{building=1839, coord=[-73.9482609, 40.6408271], street=Nostrand Avenue, zipcode=11226}}, borough=Brooklyn, cuisine=Ice Cream, Gelato, Yogurt, Ices, grades=[Document{{date=Mon Jul 14 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Wed Jul 10 05:30:00 IST 2013, grade=A, score=8}}, Document{{date=Wed Jul 11 05:30:00 IST 2012, grade=A, score=5}}, Document{{date=Thu Feb 23 05:30:00 IST 2012, grade=A, score=8}}], name=Taste The Tropics Ice Cream, restaurant_id=40356731}}
Document{{_id=5c741be4cf90d4dbd8427be2, address=Document{{building=6409, coord=[-74.00528899999999, 40.628886], street=11 Avenue, zipcode=11219}}, borough=Brooklyn, cuisine=American, grades=[Document{{date=Fri Jul 18 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Tue Jul 30 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Wed Feb 13 05:30:00 IST 2013, grade=A, score=11}}, Document{{date=Thu Aug 16 05:30:00 IST 2012, grade=A, score=2}}, Document{{date=Wed Aug 17 05:30:00 IST 2011, grade=A, score=11}}], name=Regina Caterers, restaurant_id=40356649}}

Query Embedded Document

db.getCollection("restaurants").find(new Document("address.zipcode", "11369")

mvn exec:java -Dexec.mainClass=com.admatic.primer.QueryPrimer \
    -Dexec.args="mongodb+srv://admatic:admatic123@admatic-cluster-7qyyr.mongodb.net/test 2"
queryEmbeddedDocument
Document{{_id=5c741be4cf90d4dbd8427be3, address=Document{{building=8825, coord=[-73.8803827, 40.7643124], street=Astoria Boulevard, zipcode=11369}}, borough=Queens, cuisine=American, grades=[Document{{date=Sat Nov 15 05:30:00 IST 2014, grade=Z, score=38}}, Document{{date=Fri May 02 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Sat Mar 02 05:30:00 IST 2013, grade=A, score=7}}, Document{{date=Fri Feb 10 05:30:00 IST 2012, grade=A, score=13}}], name=Brunos On The Boulevard, restaurant_id=40356151}}

Query Field in Array

db.getCollection("restaurants").find(new Document("grades.grade", "Z")

mvn exec:java -Dexec.mainClass=com.admatic.primer.QueryPrimer \
    -Dexec.args="mongodb+srv://admatic:admatic123@admatic-cluster-7qyyr.mongodb.net/test 3"
queryFieldInArray
Document{{_id=5c741be4cf90d4dbd8427bdd, address=Document{{building=97-22, coord=[-73.8601152, 40.7311739], street=63 Road, zipcode=11374}}, borough=Queens, cuisine=Jewish/Kosher, grades=[Document{{date=Mon Nov 24 05:30:00 IST 2014, grade=Z, score=20}}, Document{{date=Thu Jan 17 05:30:00 IST 2013, grade=A, score=13}}, Document{{date=Thu Aug 02 05:30:00 IST 2012, grade=A, score=13}}, Document{{date=Thu Dec 15 05:30:00 IST 2011, grade=B, score=25}}], name=Tov Kosher Kitchen, restaurant_id=40356068}}
Document{{_id=5c741be4cf90d4dbd8427be3, address=Document{{building=8825, coord=[-73.8803827, 40.7643124], street=Astoria Boulevard, zipcode=11369}}, borough=Queens, cuisine=American, grades=[Document{{date=Sat Nov 15 05:30:00 IST 2014, grade=Z, score=38}}, Document{{date=Fri May 02 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Sat Mar 02 05:30:00 IST 2013, grade=A, score=7}}, Document{{date=Fri Feb 10 05:30:00 IST 2012, grade=A, score=13}}], name=Brunos On The Boulevard, restaurant_id=40356151}}

Logical AND

db.getCollection("restaurants").find(new Document("cuisine", "American").append("address.zipcode", "11219")

mvn exec:java -Dexec.mainClass=com.admatic.primer.QueryPrimer \
    -Dexec.args="mongodb+srv://admatic:admatic123@admatic-cluster-7qyyr.mongodb.net/test 4"
logicalAnd
Document{{_id=5c741be4cf90d4dbd8427be2, address=Document{{building=6409, coord=[-74.00528899999999, 40.628886], street=11 Avenue, zipcode=11219}}, borough=Brooklyn, cuisine=American, grades=[Document{{date=Fri Jul 18 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Tue Jul 30 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Wed Feb 13 05:30:00 IST 2013, grade=A, score=11}}, Document{{date=Thu Aug 16 05:30:00 IST 2012, grade=A, score=2}}, Document{{date=Wed Aug 17 05:30:00 IST 2011, grade=A, score=11}}], name=Regina Caterers, restaurant_id=40356649}}

Logical OR

db.getCollection("restaurants").find(new Document("$or", asList(new Document("cuisine", "American"), new Document("address.zipcode", "10019")

mvn exec:java -Dexec.mainClass=com.admatic.primer.QueryPrimer \
    -Dexec.args="mongodb+srv://admatic:admatic123@admatic-cluster-7qyyr.mongodb.net/test 5"
logicalOr
Document{{_id=5c741be4cf90d4dbd8427bdb, address=Document{{building=2780, coord=[-73.98241999999999, 40.579505], street=Stillwell Avenue, zipcode=11224}}, borough=Brooklyn, cuisine=American, grades=[Document{{date=Tue Jun 10 05:30:00 IST 2014, grade=A, score=5}}, Document{{date=Wed Jun 05 05:30:00 IST 2013, grade=A, score=7}}, Document{{date=Fri Apr 13 05:30:00 IST 2012, grade=A,score=12}}, Document{{date=Wed Oct 12 05:30:00 IST 2011, grade=A, score=12}}], name=Riviera Caterer, restaurant_id=40356018}}
Document{{_id=5c741be4cf90d4dbd8427be2, address=Document{{building=6409, coord=[-74.00528899999999, 40.628886], street=11 Avenue, zipcode=11219}}, borough=Brooklyn, cuisine=American, grades=[Document{{date=Fri Jul 18 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Tue Jul 30 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Wed Feb 13 05:30:00 IST 2013, grade=A, score=11}}, Document{{date=Thu Aug 16 05:30:00 IST 2012, grade=A, score=2}}, Document{{date=Wed Aug 17 05:30:00 IST 2011, grade=A, score=11}}], name=Regina Caterers, restaurant_id=40356649}}
Document{{_id=5c741be4cf90d4dbd8427be3, address=Document{{building=8825, coord=[-73.8803827, 40.7643124], street=Astoria Boulevard, zipcode=11369}}, borough=Queens, cuisine=American, grades=[Document{{date=Sat Nov 15 05:30:00 IST 2014, grade=Z, score=38}}, Document{{date=Fri May 02 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Sat Mar 02 05:30:00 IST 2013, grade=A, score=7}}, Document{{date=Fri Feb 10 05:30:00 IST 2012, grade=A, score=13}}], name=Brunos On The Boulevard, restaurant_id=40356151}}
Document{{_id=5c741be4cf90d4dbd8427be4, address=Document{{building=351, coord=[-73.98513559999999, 40.7676919], street=West   57 Street, zipcode=10019}}, borough=Manhattan, cuisine=Irish, grades=[Document{{date=Sat Sep 06 05:30:00 IST 2014, grade=A, score=2}}, Document{{date=Mon Jul 22 05:30:00 IST 2013, grade=A, score=11}}, Document{{date=Tue Jul 31 05:30:00 IST 2012, grade=A, score=12}}, Document{{date=Thu Dec 29 05:30:00 IST 2011, grade=A, score=12}}], name=Dj Reynolds Pub And Restaurant, restaurant_id=30191841}}

Greater Than

db.getCollection("restaurants").find(new Document("grades.score", new Document("$gt", 30))

mvn exec:java -Dexec.mainClass=com.admatic.primer.QueryPrimer \
    -Dexec.args="mongodb+srv://admatic:admatic123@admatic-cluster-7qyyr.mongodb.net/test 6"
greaterThan
Document{{_id=5c741be4cf90d4dbd8427be3, address=Document{{building=8825, coord=[-73.8803827, 40.7643124], street=Astoria Boulevard, zipcode=11369}}, borough=Queens, cuisine=American, grades=[Document{{date=Sat Nov 15 05:30:00 IST 2014, grade=Z, score=38}}, Document{{date=Fri May 02 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Sat Mar 02 05:30:00 IST 2013, grade=A, score=7}}, Document{{date=Fri Feb 10 05:30:00 IST 2012, grade=A, score=13}}], name=Brunos On The Boulevard, restaurant_id=40356151}}

Lesser Than

db.getCollection("restaurants").find(new Document("grades.score", new Document("$lt", 5))

mvn exec:java -Dexec.mainClass=com.admatic.primer.QueryPrimer \
    -Dexec.args="mongodb+srv://admatic:admatic123@admatic-cluster-7qyyr.mongodb.net/test 7"
lessThan
Document{{_id=5c741be4cf90d4dbd8427bdc, address=Document{{building=1007, coord=[-73.856077, 40.848447], street=Morris Park Ave, zipcode=10462}}, borough=Bronx, cuisine=Bakery, grades=[Document{{date=Mon Mar 03 05:30:00 IST 2014, grade=A, score=2}}, Document{{date=Wed Sep 11 05:30:00 IST 2013, grade=A, score=6}}, Document{{date=Thu Jan 24 05:30:00 IST 2013, grade=A, score=10}}, Document{{date=Wed Nov 23 05:30:00 IST 2011, grade=A, score=9}}, Document{{date=Thu Mar 10 05:30:00 IST 2011, grade=B, score=14}}], name=Morris Park Bake Shop, restaurant_id=30075445}}
Document{{_id=5c741be4cf90d4dbd8427be2, address=Document{{building=6409, coord=[-74.00528899999999, 40.628886], street=11 Avenue, zipcode=11219}}, borough=Brooklyn, cuisine=American, grades=[Document{{date=Fri Jul 18 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Tue Jul 30 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Wed Feb 13 05:30:00 IST 2013, grade=A, score=11}}, Document{{date=Thu Aug 16 05:30:00 IST 2012, grade=A, score=2}}, Document{{date=Wed Aug 17 05:30:00 IST 2011, grade=A, score=11}}], name=Regina Caterers, restaurant_id=40356649}}
Document{{_id=5c741be4cf90d4dbd8427be4, address=Document{{building=351, coord=[-73.98513559999999, 40.7676919], street=West   57 Street, zipcode=10019}}, borough=Manhattan, cuisine=Irish, grades=[Document{{date=Sat Sep 06 05:30:00 IST 2014, grade=A, score=2}}, Document{{date=Mon Jul 22 05:30:00 IST 2013, grade=A, score=11}}, Document{{date=Tue Jul 31 05:30:00 IST 2012, grade=A, score=12}}, Document{{date=Thu Dec 29 05:30:00 IST 2011, grade=A, score=12}}], name=Dj Reynolds Pub And Restaurant, restaurant_id=30191841}}

Sort

db.getCollection("restaurants").find().sort(new Document("borough", 1).append("address.zipcode", 1)

mvn exec:java -Dexec.mainClass=com.admatic.primer.QueryPrimer \
    -Dexec.args="mongodb+srv://admatic:admatic123@admatic-cluster-7qyyr.mongodb.net/test 8"
sort
Document{{_id=5c741be4cf90d4dbd8427bdc, address=Document{{building=1007, coord=[-73.856077, 40.848447], street=Morris Park Ave, zipcode=10462}}, borough=Bronx, cuisine=Bakery, grades=[Document{{date=Mon Mar 03 05:30:00 IST 2014, grade=A, score=2}}, Document{{date=Wed Sep 11 05:30:00 IST 2013, grade=A, score=6}}, Document{{date=Thu Jan 24 05:30:00 IST 2013, grade=A, score=10}}, Document{{date=Wed Nov 23 05:30:00 IST 2011, grade=A, score=9}}, Document{{date=Thu Mar 10 05:30:00 IST 2011, grade=B, score=14}}], name=Morris Park Bake Shop, restaurant_id=30075445}}
Document{{_id=5c741be4cf90d4dbd8427be2, address=Document{{building=6409, coord=[-74.00528899999999, 40.628886], street=11 Avenue, zipcode=11219}}, borough=Brooklyn, cuisine=American, grades=[Document{{date=Fri Jul 18 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Tue Jul 30 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Wed Feb 13 05:30:00 IST 2013, grade=A, score=11}}, Document{{date=Thu Aug 16 05:30:00 IST 2012, grade=A, score=2}}, Document{{date=Wed Aug 17 05:30:00 IST 2011, grade=A, score=11}}], name=Regina Caterers, restaurant_id=40356649}}
Document{{_id=5c741be4cf90d4dbd8427bdb, address=Document{{building=2780, coord=[-73.98241999999999, 40.579505], street=Stillwell Avenue, zipcode=11224}}, borough=Brooklyn, cuisine=American, grades=[Document{{date=Tue Jun 10 05:30:00 IST 2014, grade=A, score=5}}, Document{{date=Wed Jun 05 05:30:00 IST 2013, grade=A, score=7}}, Document{{date=Fri Apr 13 05:30:00 IST 2012, grade=A, score=12}}, Document{{date=Wed Oct 12 05:30:00 IST 2011, grade=A, score=12}}], name=Riviera Caterer, restaurant_id=40356018}}
Document{{_id=5c741be4cf90d4dbd8427bde, address=Document{{building=469, coord=[-73.961704, 40.662942], street=Flatbush Avenue, zipcode=11225}}, borough=Brooklyn, cuisine=Hamburgers, grades=[Document{{date=Tue Dec 30 05:30:00 IST 2014, grade=A, score=8}}, Document{{date=Tue Jul 01 05:30:00 IST 2014, grade=B, score=23}}, Document{{date=Tue Apr 30 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Tue May 08 05:30:00 IST 2012, grade=A, score=12}}], name=Wendy'S, restaurant_id=30112340}}
Document{{_id=5c741be4cf90d4dbd8427be1, address=Document{{building=1839, coord=[-73.9482609, 40.6408271], street=Nostrand Avenue, zipcode=11226}}, borough=Brooklyn, cuisine=Ice Cream, Gelato, Yogurt, Ices, grades=[Document{{date=Mon Jul 14 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Wed Jul 10 05:30:00 IST 2013, grade=A, score=8}}, Document{{date=Wed Jul 11 05:30:00 IST 2012, grade=A, score=5}}, Document{{date=Thu Feb 23 05:30:00 IST 2012, grade=A, score=8}}], name=Taste The Tropics Ice Cream, restaurant_id=40356731}}
Document{{_id=5c741be4cf90d4dbd8427be0, address=Document{{building=7114, coord=[-73.9068506, 40.6199034], street=Avenue U, zipcode=11234}}, borough=Brooklyn, cuisine=Delicatessen, grades=[Document{{date=Thu May 29 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Tue Jan 14 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Sat Aug 03 05:30:00 IST 2013, grade=A, score=8}}, Document{{date=Wed Jul 18 05:30:00 IST 2012, grade=A, score=10}}, Document{{date=Fri Mar 09 05:30:00 IST 2012, grade=A, score=13}}, Document{{date=Fri Oct 14 05:30:00 IST 2011, grade=A, score=9}}], name=Wilken'S Fine Food, restaurant_id=40356483}}
Document{{_id=5c741be4cf90d4dbd8427be4, address=Document{{building=351, coord=[-73.98513559999999, 40.7676919], street=West   57 Street, zipcode=10019}}, borough=Manhattan, cuisine=Irish, grades=[Document{{date=Sat Sep 06 05:30:00 IST 2014, grade=A, score=2}}, Document{{date=Mon Jul 22 05:30:00 IST 2013, grade=A, score=11}}, Document{{date=Tue Jul 31 05:30:00 IST 2012, grade=A, score=12}}, Document{{date=Thu Dec 29 05:30:00 IST 2011, grade=A, score=12}}], name=Dj Reynolds Pub And Restaurant, restaurant_id=30191841}}
Document{{_id=5c741be4cf90d4dbd8427be3, address=Document{{building=8825, coord=[-73.8803827, 40.7643124], street=Astoria Boulevard, zipcode=11369}}, borough=Queens, cuisine=American, grades=[Document{{date=Sat Nov 15 05:30:00 IST 2014, grade=Z, score=38}}, Document{{date=Fri May 02 05:30:00 IST 2014, grade=A, score=10}}, Document{{date=Sat Mar 02 05:30:00 IST 2013, grade=A, score=7}}, Document{{date=Fri Feb 10 05:30:00 IST 2012, grade=A, score=13}}], name=Brunos On The Boulevard, restaurant_id=40356151}}
Document{{_id=5c741be4cf90d4dbd8427bdd, address=Document{{building=97-22, coord=[-73.8601152, 40.7311739], street=63 Road, zipcode=11374}}, borough=Queens, cuisine=Jewish/Kosher, grades=[Document{{date=Mon Nov 24 05:30:00 IST 2014, grade=Z, score=20}}, Document{{date=Thu Jan 17 05:30:00 IST 2013, grade=A, score=13}}, Document{{date=Thu Aug 02 05:30:00 IST 2012, grade=A, score=13}}, Document{{date=Thu Dec 15 05:30:00 IST 2011, grade=B, score=25}}], name=Tov Kosher Kitchen, restaurant_id=40356068}}
Document{{_id=5c741be4cf90d4dbd8427bdf, address=Document{{building=2206, coord=[-74.1377286, 40.6119572], street=Victory Boulevard, zipcode=10314}}, borough=Staten Island, cuisine=Jewish/Kosher, grades=[Document{{date=Mon Oct 06 05:30:00 IST 2014, grade=A, score=9}}, Document{{date=Tue May 20 05:30:00 IST 2014, grade=A, score=12}}, Document{{date=Thu Apr 04 05:30:00 IST 2013, grade=A, score=12}}, Document{{date=Tue Jan 24 05:30:00 IST 2012, grade=A, score=9}}], name=Kosher Island, restaurant_id=40356442}}

results matching ""

    No results matching ""