List of usage examples for com.mongodb.client MongoClients create
public static MongoClient create()
From source file:documentation.CausalConsistencyExamples.java
License:Apache License
/** * Run this main method to see the output of this quick example. * * @param args takes an optional single argument for the connection string *///w w w .j a v a2 s . c o m public static void main(final String[] args) { setupDatabase(); MongoClient client = MongoClients.create(); // Start Causal Consistency Example 1 // Example 1: Use a causally consistent session to ensure that the update occurs before the insert. ClientSession session1 = client .startSession(ClientSessionOptions.builder().causallyConsistent(true).build()); Date currentDate = new Date(); MongoCollection<Document> items = client.getDatabase("test").withReadConcern(ReadConcern.MAJORITY) .withWriteConcern(WriteConcern.MAJORITY.withWTimeout(1000, TimeUnit.MILLISECONDS)) .getCollection("test"); items.updateOne(session1, eq("sku", "111"), set("end", currentDate)); Document document = new Document("sku", "nuts-111").append("name", "Pecans").append("start", currentDate); items.insertOne(session1, document); // End Causal Consistency Example 1 // Start Causal Consistency Example 2 // Example 2: Advance the cluster time and the operation time to that of the other session to ensure that // this client is causally consistent with the other session and read after the two writes. ClientSession session2 = client .startSession(ClientSessionOptions.builder().causallyConsistent(true).build()); session2.advanceClusterTime(session1.getClusterTime()); session2.advanceOperationTime(session1.getOperationTime()); items = client.getDatabase("test").withReadPreference(ReadPreference.secondary()) .withReadConcern(ReadConcern.MAJORITY) .withWriteConcern(WriteConcern.MAJORITY.withWTimeout(1000, TimeUnit.MILLISECONDS)) .getCollection("items"); for (Document item : items.find(session2, eq("end", BsonNull.VALUE))) { System.out.println(item); } // End Causal Consistency Example 2 }
From source file:documentation.CausalConsistencyExamples.java
License:Apache License
private static void setupDatabase() { MongoClient client = MongoClients.create(); client.getDatabase("test").drop(); MongoDatabase database = client.getDatabase("test"); database.getCollection("items").drop(); MongoCollection<Document> items = database.getCollection("items"); Document document = new Document("sku", "111").append("name", "Peanuts").append("start", new Date()); items.insertOne(document);// ww w.j a v a2 s. c om client.close(); }
From source file:tour.PojoQuickTour.java
License:Apache License
/** * Run this main method to see the output of this quick example. * * @param args takes an optional single argument for the connection string *///from w w w .j a v a 2s . c o m public static void main(final String[] args) { MongoClient mongoClient; if (args.length == 0) { // connect to the local database server mongoClient = MongoClients.create(); } else { mongoClient = MongoClients.create(args[0]); } // create codec registry for POJOs CodecRegistry pojoCodecRegistry = fromRegistries(MongoClientSettings.getDefaultCodecRegistry(), fromProviders(PojoCodecProvider.builder().automatic(true).build())); // get handle to "mydb" database MongoDatabase database = mongoClient.getDatabase("mydb").withCodecRegistry(pojoCodecRegistry); // get a handle to the "people" collection MongoCollection<Person> collection = database.getCollection("people", Person.class); // drop all the data in it collection.drop(); // make a document and insert it Person ada = new Person("Ada Byron", 20, new Address("St James Square", "London", "W1")); System.out.println("Original Person Model: " + ada); collection.insertOne(ada); // Person will now have an ObjectId System.out.println("Mutated Person Model: " + ada); // get it (since it's the only one in there since we dropped the rest earlier on) Person somebody = collection.find().first(); System.out.println(somebody); // now, lets add some more people so we can explore queries and cursors List<Person> people = asList( new Person("Charles Babbage", 45, new Address("5 Devonshire Street", "London", "W11")), new Person("Alan Turing", 28, new Address("Bletchley Hall", "Bletchley Park", "MK12")), new Person("Timothy Berners-Lee", 61, new Address("Colehill", "Wimborne", null))); collection.insertMany(people); System.out.println("total # of people " + collection.countDocuments()); System.out.println(""); // lets get all the documents in the collection and print them out Block<Person> printBlock = new Block<Person>() { @Override public void apply(final Person person) { System.out.println(person); } }; collection.find().forEach(printBlock); System.out.println(""); // now use a query to get 1 document out somebody = collection.find(eq("address.city", "Wimborne")).first(); System.out.println(somebody); System.out.println(""); // now lets find every over 30 collection.find(gt("age", 30)).forEach(printBlock); System.out.println(""); // Update One collection.updateOne(eq("name", "Ada Byron"), combine(set("age", 23), set("name", "Ada Lovelace"))); System.out.println(""); // Update Many UpdateResult updateResult = collection.updateMany(not(eq("zip", null)), set("zip", null)); System.out.println(updateResult.getModifiedCount()); System.out.println(""); // Replace One updateResult = collection.replaceOne(eq("name", "Ada Lovelace"), ada); System.out.println(updateResult.getModifiedCount()); // Delete One collection.deleteOne(eq("address.city", "Wimborne")); // Delete Many DeleteResult deleteResult = collection.deleteMany(eq("address.city", "London")); System.out.println(deleteResult.getDeletedCount()); // Clean up database.drop(); // release resources mongoClient.close(); }