List of usage examples for com.mongodb BasicDBObjectBuilder start
public static BasicDBObjectBuilder start()
From source file:org.jeo.mongo.MongoTestData.java
License:Open Source License
public void setUp(DBCollection dbcol, MongoWorkspace workspace) throws IOException { VectorDataset data = TestData.states(); Schema schema = data.schema(); for (Feature f : data.cursor(new Query())) { Geometry g = f.geometry();//from w w w .ja v a 2s. co m g = Geom.iterate((MultiPolygon) f.geometry()).iterator().next(); DBObject obj = new BasicDBObject(f.map()); obj.put(schema.geometry().getName(), JSON.parse(GeoJSONWriter.toString(g))); dbcol.insert(obj); } dbcol.ensureIndex(BasicDBObjectBuilder.start().add(data.schema().geometry().getName(), "2dsphere").get()); workspace.setMapper(new DefaultMapper(new Mapping().geometry("geometry"))); }
From source file:org.jeo.mongo.NestedTestData.java
License:Open Source License
@Override public void setUp(DBCollection dbcol, MongoWorkspace workspace) throws IOException { VectorDataset data = TestData.states(); for (Feature f : data.cursor(new Query())) { Geometry g = f.geometry();//w w w. j av a 2 s.c o m g = Geom.iterate((MultiPolygon) f.geometry()).iterator().next(); DBObject obj = new BasicDBObject(); DBObject geo = new BasicDBObject(); geo.put("shape", GeoJSON.toObject(g)); geo.put("center", GeoJSON.toObject(g.getCentroid())); obj.put("geo", geo); obj.put("STATE_NAME", f.get("STATE_NAME")); obj.put("STATE_ABBR", f.get("STATE_ABBR")); DBObject pop = new BasicDBObject(); pop.put("total", f.get("SAMP_POP")); pop.put("male", f.get("P_MALE")); pop.put("female", f.get("P_FEMALE")); obj.put("pop", pop); dbcol.insert(obj); } dbcol.ensureIndex(BasicDBObjectBuilder.start().add("geo.shape", "2dsphere").get()); Mapping mapping = new Mapping().geometry("geo.shape").geometry("geo.center"); workspace.setMapper(new DefaultMapper(mapping)); }
From source file:org.mongodb.demos.binary.JsonDemo.java
License:Apache License
/** * Create a new employee and set the picture inside the Document * - data are store as bytes//from w w w .ja va 2s .c o m * @param firstName * @param lastName * @param picture * @throws Exception */ public void insertEmployee(String id, String firstName, String lastName, String picture) throws Exception { System.out.println("\n== == WRITE TO MONGODB == == == "); // Pure DBObject approach DBObject emp = BasicDBObjectBuilder.start().add("_id", id).add("first_name", firstName) .add("last_name", lastName).get(); System.out.println(emp); // import an image byte[] imageAsBytes = extractBytes(picture); emp.put("image", imageAsBytes); // save data in the collection fooCollection.save(emp); System.out.println("\n== == == == == "); }
From source file:org.mongodb.demos.obj.MyAppDriver.java
License:Apache License
private void insertPersons() { List<DBObject> addresses = new ArrayList<>(); DBObject address = BasicDBObjectBuilder.start().add("city", "Paris").add("street", "Rue de la Paix") .add("zip_code", "75015").get(); addresses.add(address);//from www .j a v a 2 s . c om DBObject person = BasicDBObjectBuilder.start().add("first_name", "John").add("last_name", "Doe") .add("addresses", addresses).add("age", 35).get(); fooCollection.insert(person); person = BasicDBObjectBuilder.start().add("first_name", "Jane").add("last_name", "Owy").add("age", 32) .get(); fooCollection.insert(person); }
From source file:org.mongodb.demos.replication.RetryDemo.java
License:Apache License
public static void main(String args[]) throws Exception { //TODO : See https://gist.github.com/tgrall/954aa021ba420639d614 MongoClient client = new MongoClient( Arrays.asList(new ServerAddress("localhost", 27017), new ServerAddress("localhost", 27018))); DB db = client.getDB("jug"); DBCollection coll = db.getCollection("bar"); System.out.println("BEFORE"); boolean loop = true; while (loop) { int backoff = 0, counter = 0; DBObject obj = null;//from w w w .j a v a2 s . c o m do { try { obj = BasicDBObjectBuilder.start().add("name", "mydoc").add("counter", counter++).get(); //System.out.print("\t inserting..."); coll.insert(obj, new WriteConcern(2, 3000, true, false)); backoff = 0; // System.out.println(" OK : Document inserted..."); } catch (Exception e) { System.out.println(e.toString()); if (backoff == 3) { throw new Exception("Tried 3 times... still failed"); } backoff++; System.out.println("Waiting for " + backoff + "s"); Thread.sleep(1500 * backoff); } } while (backoff != 0); } System.out.println("AFTER"); }
From source file:org.mongodb.demos.tailable.RealTimeInjector.java
License:Apache License
public static void main(String[] args) throws Exception { int counter = 0; while (counter <= 20) { Thread.sleep(2500);// w ww .j a v a 2 s . c o m DBObject person = BasicDBObjectBuilder.start().add("status", "ok") .add("value", UUID.randomUUID().toString()).add("counter", counter++).get(); coll.insert(person); System.out.println("Doc inserted " + counter); } }
From source file:org.mongodb.workshop.api.ComicsService.java
License:Apache License
@GET @Path("/search") @ApiOperation(value = "Full text search on comics") public DBObject search(@DefaultValue("1") @QueryParam("page") int page, @QueryParam("keyword") String keyword) { DBObject query = QueryBuilder.start().text(keyword).get(); DBObject proj = BasicDBObjectBuilder.start().append("title", 1).append("description", 1).push("score") .append("$meta", "textScore").get(); DBObject sort = BasicDBObjectBuilder.start().push("score").append("$meta", "textScore").get(); long count = comicsCollection.count(query); int skip = ITEMS_PER_PAGE * (page - 1); DBCursor cursor = comicsCollection.find(query, proj).sort(sort).skip(skip).limit(ITEMS_PER_PAGE); List<DBObject> items = cursor.toArray(cursor.size()); ResultDBObject result = new ResultDBObject(count, ITEMS_PER_PAGE, page, items); return result; }
From source file:org.mongodb.workshop.api.ComicsService.java
License:Apache License
@GET @Path("groupBy/price") @ApiOperation(value = "Get the number of comics per price") public DBObject[] aggregateByPrice() { DBObject step1 = new BasicDBObject("$unwind", "$prices"); DBObject step2 = BasicDBObjectBuilder.start().push("$match").add("prices.type", "printPrice") .push("prices.price").add("$gt", 0).get(); DBObject step3 = BasicDBObjectBuilder.start().push("$group").add("_id", "$prices.price").push("total") .append("$sum", 1).get(); DBObject step4 = BasicDBObjectBuilder.start().push("$sort").add("_id", 1).get(); List<DBObject> pipeline = Arrays.<DBObject>asList(step1, step2, step3, step4); AggregationOutput output = comicsCollection.aggregate(pipeline); List<DBObject> items = new ArrayList<DBObject>(); for (DBObject item : output.results()) { items.add(item);//from w ww . j a v a 2s . co m } return items.toArray(new DBObject[items.size()]); }
From source file:org.mongoj.samples.service.persistence.CarPersistenceImpl.java
License:Open Source License
protected Car updateImpl(org.mongoj.samples.model.Car car) throws UpdateException, SystemException { DBCollection collection = getDB().getCollection(CarImpl.COLLECTION_NAME); if (car.isNew()) { car.setNew(false);/*from w w w. j ava 2 s.com*/ CarImpl carImpl = (CarImpl) car; carImpl.addMap.clear(); carImpl.appendMap.clear(); carImpl.removeMap.clear(); carImpl.setMap.clear(); WriteResult writeResult = collection.insert(getDBObject(car)); String err = writeResult.getError(); if (err != null) { throw new UpdateException(err); } } else { DBObject criteria = new QueryBuilder().put("_id").is(new ObjectId(car.getId())).get(); CarImpl carImpl = (CarImpl) car; BasicDBObjectBuilder updateBuilder = BasicDBObjectBuilder.start(); BasicDBObjectBuilder setUpdates = BasicDBObjectBuilder.start(); BasicDBObjectBuilder pushUpdates = BasicDBObjectBuilder.start(); BasicDBObjectBuilder pushAllUpdates = BasicDBObjectBuilder.start(); BasicDBObjectBuilder addUpdates = BasicDBObjectBuilder.start(); BasicDBObjectBuilder removeUpdates = BasicDBObjectBuilder.start(); BasicDBObjectBuilder removeAllUpdates = BasicDBObjectBuilder.start(); for (String field : carImpl.setMap.keySet()) { setUpdates = setUpdates.add(field, carImpl.setMap.get(field)); } if (!setUpdates.isEmpty()) { updateBuilder.add(SET_OPERATOR, setUpdates.get()); } for (String field : carImpl.appendMap.keySet()) { List<Object> list = (List<Object>) carImpl.appendMap.get(field); if (!list.isEmpty()) { if (list.size() == 1) { pushUpdates = pushUpdates.add(field, ((List) carImpl.appendMap.get(field)).get(0)); } else { pushAllUpdates = pushAllUpdates.add(field, carImpl.appendMap.get(field)); } } } if (!pushUpdates.isEmpty()) { updateBuilder.add(PUSH_OPERATOR, pushUpdates.get()); } if (!pushAllUpdates.isEmpty()) { updateBuilder.add(PUSH_ALL_OPERATOR, pushAllUpdates.get()); } for (String field : carImpl.addMap.keySet()) { List<Object> list = (List<Object>) carImpl.addMap.get(field); if (!list.isEmpty()) { if (list.size() == 1) { addUpdates = addUpdates.add(field, ((List) carImpl.addMap.get(field)).get(0)); } else { DBObject each = BasicDBObjectBuilder.start() .add(EACH_OPERATOR, ((List) carImpl.addMap.get(field)).toArray()).get(); addUpdates = addUpdates.add(field, each); } } } if (!addUpdates.isEmpty()) { updateBuilder.add(ADD_TO_SET_OPERATOR, addUpdates.get()); } for (String field : carImpl.removeMap.keySet()) { List<Object> list = (List<Object>) carImpl.removeMap.get(field); if (!list.isEmpty()) { if (list.size() == 1) { removeUpdates = removeUpdates.add(field, ((List) carImpl.removeMap.get(field)).get(0)); } else { removeAllUpdates = removeAllUpdates.add(field, carImpl.removeMap.get(field)); } } } if (!removeUpdates.isEmpty()) { updateBuilder.add(PULL_OPERATOR, removeUpdates.get()); } if (!removeAllUpdates.isEmpty()) { updateBuilder.add(PULL_ALL_OPERATOR, removeAllUpdates.get()); } if (!updateBuilder.isEmpty()) { DBObject update = updateBuilder.get(); _log.debug("Update query = {}", update); WriteResult writeResult = collection.update(criteria, update); String err = writeResult.getError(); if (err != null) { throw new UpdateException(err); } } } return car; }
From source file:org.mongoj.samples.service.persistence.UserPersistenceImpl.java
License:Open Source License
protected User updateImpl(org.mongoj.samples.model.User user) throws UpdateException, SystemException { DBCollection collection = getDB().getCollection(UserImpl.COLLECTION_NAME); if (user.isNew()) { user.setNew(false);/*from www. j av a 2s .c o m*/ UserImpl userImpl = (UserImpl) user; userImpl.addMap.clear(); userImpl.appendMap.clear(); userImpl.removeMap.clear(); userImpl.setMap.clear(); WriteResult writeResult = collection.insert(getDBObject(user)); String err = writeResult.getError(); if (err != null) { throw new UpdateException(err); } } else { DBObject criteria = new QueryBuilder().put("_id").is(new ObjectId(user.getId())).get(); UserImpl userImpl = (UserImpl) user; BasicDBObjectBuilder updateBuilder = BasicDBObjectBuilder.start(); BasicDBObjectBuilder setUpdates = BasicDBObjectBuilder.start(); BasicDBObjectBuilder pushUpdates = BasicDBObjectBuilder.start(); BasicDBObjectBuilder pushAllUpdates = BasicDBObjectBuilder.start(); BasicDBObjectBuilder addUpdates = BasicDBObjectBuilder.start(); BasicDBObjectBuilder removeUpdates = BasicDBObjectBuilder.start(); BasicDBObjectBuilder removeAllUpdates = BasicDBObjectBuilder.start(); for (String field : userImpl.setMap.keySet()) { setUpdates = setUpdates.add(field, userImpl.setMap.get(field)); } if (!setUpdates.isEmpty()) { updateBuilder.add(SET_OPERATOR, setUpdates.get()); } for (String field : userImpl.appendMap.keySet()) { List<Object> list = (List<Object>) userImpl.appendMap.get(field); if (!list.isEmpty()) { if (list.size() == 1) { pushUpdates = pushUpdates.add(field, ((List) userImpl.appendMap.get(field)).get(0)); } else { pushAllUpdates = pushAllUpdates.add(field, userImpl.appendMap.get(field)); } } } if (!pushUpdates.isEmpty()) { updateBuilder.add(PUSH_OPERATOR, pushUpdates.get()); } if (!pushAllUpdates.isEmpty()) { updateBuilder.add(PUSH_ALL_OPERATOR, pushAllUpdates.get()); } for (String field : userImpl.addMap.keySet()) { List<Object> list = (List<Object>) userImpl.addMap.get(field); if (!list.isEmpty()) { if (list.size() == 1) { addUpdates = addUpdates.add(field, ((List) userImpl.addMap.get(field)).get(0)); } else { DBObject each = BasicDBObjectBuilder.start() .add(EACH_OPERATOR, ((List) userImpl.addMap.get(field)).toArray()).get(); addUpdates = addUpdates.add(field, each); } } } if (!addUpdates.isEmpty()) { updateBuilder.add(ADD_TO_SET_OPERATOR, addUpdates.get()); } for (String field : userImpl.removeMap.keySet()) { List<Object> list = (List<Object>) userImpl.removeMap.get(field); if (!list.isEmpty()) { if (list.size() == 1) { removeUpdates = removeUpdates.add(field, ((List) userImpl.removeMap.get(field)).get(0)); } else { removeAllUpdates = removeAllUpdates.add(field, userImpl.removeMap.get(field)); } } } if (!removeUpdates.isEmpty()) { updateBuilder.add(PULL_OPERATOR, removeUpdates.get()); } if (!removeAllUpdates.isEmpty()) { updateBuilder.add(PULL_ALL_OPERATOR, removeAllUpdates.get()); } if (!updateBuilder.isEmpty()) { DBObject update = updateBuilder.get(); _log.debug("Update query = {}", update); WriteResult writeResult = collection.update(criteria, update); String err = writeResult.getError(); if (err != null) { throw new UpdateException(err); } } } return user; }