Example usage for com.mongodb BasicDBObjectBuilder BasicDBObjectBuilder

List of usage examples for com.mongodb BasicDBObjectBuilder BasicDBObjectBuilder

Introduction

In this page you can find the example usage for com.mongodb BasicDBObjectBuilder BasicDBObjectBuilder.

Prototype

public BasicDBObjectBuilder() 

Source Link

Document

Creates a builder intialized with an empty document.

Usage

From source file:com.examples.aggregation.AggregationExample.java

License:Open Source License

public Iterator<DBObject> doubleGroupStages() {
    BasicDBObjectBuilder group_1 = new BasicDBObjectBuilder();
    group_1.push("$group");
    group_1.push("_id");
    group_1.add("class_id", "$class_id");
    group_1.add("student_id", "$student_id");
    group_1.pop();/*from   w w w . j a  v a  2  s  .c o  m*/
    group_1.push("average");
    group_1.add("$avg", "$score");
    group_1.pop();
    group_1.pop();

    BasicDBObjectBuilder group_2 = new BasicDBObjectBuilder();
    group_2.push("$group");
    group_2.add("_id", "$_id.class_id");
    group_2.push("average");
    group_2.add("$avg", "$average");
    group_2.pop();
    group_2.pop();

    return col.aggregate(group_1.get(), group_2.get()).results().iterator();
}

From source file:com.examples.aggregation.AggregationExample.java

License:Open Source License

public Iterator<DBObject> project() {
    BasicDBObjectBuilder builder = new BasicDBObjectBuilder();
    builder.push("$project");
    builder.add("_id", 0);
    builder.push("maker");
    builder.add("$toLower", "$manufacturer");
    builder.pop();/*w ww .  ja va  2s  .c  o m*/
    builder.push("details");
    builder.add("category", "$category");
    builder.push("price");
    builder.add("$multiply", new Object[] { "$price", 10 });
    builder.pop();
    builder.pop();
    builder.add("item", "$name");
    builder.pop();

    return col.aggregate(builder.get()).results().iterator();
}

From source file:com.examples.aggregation.AggregationExample.java

License:Open Source License

public Iterator<DBObject> match() {
    BasicDBObjectBuilder match = buildMatchDBObject();
    BasicDBObjectBuilder group = new BasicDBObjectBuilder();
    group.push("$group");
    group.add("_id", "$city");
    group.push("population");
    group.add("$sum", "$pop");
    group.pop();//from w w  w  .ja va 2  s .  c om
    group.push("zip_codes");
    group.add("$addToSet", "$_id");
    group.pop();
    group.pop();

    return col.aggregate(match.get(), group.get()).results().iterator();
}

From source file:com.examples.aggregation.AggregationExample.java

License:Open Source License

public Iterator<DBObject> sort() {
    BasicDBObjectBuilder match = buildMatchDBObject();

    BasicDBObjectBuilder group = new BasicDBObjectBuilder();
    group.push("$group");
    group.add("_id", "$city");
    group.push("population");
    group.add("$sum", "$pop");
    group.pop();/*from   w  ww  . j  a  v a2 s  .c o  m*/
    group.pop();

    BasicDBObjectBuilder project = new BasicDBObjectBuilder();
    project.push("$project");
    project.add("_id", 0);
    project.add("city", "$_id");
    project.add("population", 1);
    project.pop();

    BasicDBObjectBuilder sort = new BasicDBObjectBuilder();
    sort.push("$sort");
    sort.add("population", -1);
    sort.pop();

    return col.aggregate(match.get(), group.get(), project.get(), sort.get()).results().iterator();
}

From source file:com.examples.aggregation.AggregationExample.java

License:Open Source License

public Iterator<DBObject> limitAndSkip() {
    BasicDBObjectBuilder match = buildMatchDBObject();

    BasicDBObjectBuilder group = new BasicDBObjectBuilder();
    group.push("$group");
    group.add("_id", "$city");
    group.push("population");
    group.add("$sum", "$pop");
    group.pop();//from   w  w w.  jav a  2  s  .co  m
    group.pop();

    BasicDBObjectBuilder project = new BasicDBObjectBuilder();
    project.push("$project");
    project.add("_id", 0);
    project.add("city", "$_id");
    project.add("population", 1);
    project.pop();

    BasicDBObjectBuilder sort = new BasicDBObjectBuilder();
    sort.push("$sort");
    sort.add("population", -1);
    sort.pop();

    BasicDBObject skip = new BasicDBObject("$skip", 10);
    BasicDBObject limit = new BasicDBObject("$limit", 5);

    return col.aggregate(match.get(), group.get(), project.get(), sort.get(), skip, limit).results().iterator();
}

From source file:com.examples.aggregation.AggregationExample.java

License:Open Source License

private BasicDBObjectBuilder buildMatchDBObject() {
    BasicDBObjectBuilder match = new BasicDBObjectBuilder();
    match.push("$match");
    match.add("state", "NY");
    match.pop();// w ww. j ava2 s.com
    return match;
}

From source file:com.examples.aggregation.AggregationExample.java

License:Open Source License

public Iterator<DBObject> unwind() {
    BasicDBObject unwind = new BasicDBObject("$unwind", "$tags");

    BasicDBObjectBuilder group = new BasicDBObjectBuilder();
    group.push("$group");
    group.add("_id", "$tags");
    group.push("count");
    group.add("$sum", 1);
    group.pop();/*from  w w w .  j a v  a 2s.co  m*/
    group.pop();

    BasicDBObjectBuilder sort = new BasicDBObjectBuilder();
    sort.push("$sort");
    sort.add("count", -1);
    sort.pop();

    BasicDBObject limit = new BasicDBObject("$limit", 10);

    BasicDBObjectBuilder project = new BasicDBObjectBuilder();
    project.push("$project");
    project.add("_id", 0);
    project.add("tag", "$_id");
    project.add("count", 1);

    return col.aggregate(unwind, group.get(), sort.get(), limit, project.get()).results().iterator();
}

From source file:com.examples.aggregation.AggregationExample.java

License:Open Source License

public Iterator<DBObject> doubleUnwind() {

    BasicDBObject unwindSizes = new BasicDBObject("$unwind", "$sizes");
    BasicDBObject unwindColors = new BasicDBObject("$unwind", "$colors");

    BasicDBObjectBuilder group = new BasicDBObjectBuilder();
    group.push("$group");
    group.push("_id");
    group.add("size", "$sizes");
    group.add("color", "$colors");
    group.pop();//from  w  ww .j a v a 2s . co  m
    group.push("count");
    group.add("$sum", 1);
    group.pop();
    group.pop();

    return col.aggregate(unwindSizes, unwindColors, group.get()).results().iterator();
}

From source file:com.github.nlloyd.hornofmongo.MongoScope.java

License:Open Source License

public static Object listFiles(Context cx, Scriptable thisObj, Object[] args, Function funObj) {
    File path = null;//w  w w  .  java2s  .c o  m
    if (args.length == 0)
        path = ((MongoScope) thisObj).getCwd();
    else if (args.length > 1)
        Context.throwAsScriptRuntimeEx(new MongoScriptException("need to specify 1 argument to listFiles"));
    else {
        try {
            path = resolveFilePath((MongoScope) thisObj, Context.toString(args[0]));
        } catch (IOException e) {
            Context.throwAsScriptRuntimeEx(new MongoScriptException("listFiles: " + e.getMessage()));
        }
    }

    // mongo only checks if the path exists, so we will do the same here
    if (!path.exists())
        Context.throwAsScriptRuntimeEx(
                new MongoScriptException("listFiles: no such directory: " + path.getAbsolutePath()));
    if (!path.isDirectory())
        Context.throwAsScriptRuntimeEx(
                new MongoScriptException("listFiles: not a directory: " + path.getAbsolutePath()));

    List<DBObject> files = new ArrayList<DBObject>();
    for (File file : path.listFiles()) {
        BasicDBObjectBuilder fileObj = new BasicDBObjectBuilder();
        fileObj.append("name", file.getPath()).append("isDirectory", file.isDirectory());
        if (!file.isDirectory())
            fileObj.append("size", file.length());
        files.add(fileObj.get());
    }

    Object jsResult = BSONizer.convertBSONtoJS((MongoScope) thisObj, files);

    return jsResult;
}

From source file:com.github.sakserv.storm.bolt.SimpleMongoBolt.java

License:Apache License

@Override
public DBObject getDBObjectForInput(Tuple input) {
    BasicDBObjectBuilder dbObjectBuilder = new BasicDBObjectBuilder();

    for (String field : input.getFields()) {
        Object value = input.getValueByField(field);
        if (isValidDBObjectField(value)) {
            dbObjectBuilder.append(field, value);
        }/*  w w  w  .  j  ava  2s  . co  m*/
    }

    return dbObjectBuilder.get();
}