List of usage examples for com.mongodb.client MongoClient close
void close();
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);/* w w w . j a v a 2 s . c o m*/ client.close(); }
From source file:tour.ClientSideEncryptionAutoEncryptionSettingsTour.java
License:Apache License
/** * Run this main method to see the output of this quick example. * * Requires the mongodb-crypt library in the class path and mongocryptd on the system path. * * @param args ignored args//from ww w. ja v a 2 s . co m */ public static void main(final String[] args) { // This would have to be the same master key as was used to create the encryption key final byte[] localMasterKey = new byte[96]; new SecureRandom().nextBytes(localMasterKey); Map<String, Map<String, Object>> kmsProviders = new HashMap<String, Map<String, Object>>() { { put("local", new HashMap<String, Object>() { { put("key", localMasterKey); } }); } }; String keyVaultNamespace = "admin.datakeys"; ClientEncryptionSettings clientEncryptionSettings = ClientEncryptionSettings.builder() .keyVaultMongoClientSettings(MongoClientSettings.builder() .applyConnectionString(new ConnectionString("mongodb://localhost")).build()) .keyVaultNamespace(keyVaultNamespace).kmsProviders(kmsProviders).build(); ClientEncryption clientEncryption = ClientEncryptions.create(clientEncryptionSettings); BsonBinary dataKeyId = clientEncryption.createDataKey("local", new DataKeyOptions()); final String base64DataKeyId = Base64.getEncoder().encodeToString(dataKeyId.getData()); final String dbName = "test"; final String collName = "coll"; AutoEncryptionSettings autoEncryptionSettings = AutoEncryptionSettings.builder() .keyVaultNamespace(keyVaultNamespace).kmsProviders(kmsProviders) .schemaMap(new HashMap<String, BsonDocument>() { { put(dbName + "." + collName, // Need a schema that references the new data key BsonDocument.parse("{" + " properties: {" + " encryptedField: {" + " encrypt: {" + " keyId: [{" + " \"$binary\": {" + " \"base64\": \"" + base64DataKeyId + "\"," + " \"subType\": \"04\"" + " }" + " }]," + " bsonType: \"string\"," + " algorithm: \"AEAD_AES_256_CBC_HMAC_SHA_512-Deterministic\"" + " }" + " }" + " }," + " \"bsonType\": \"object\"" + "}")); } }).build(); MongoClientSettings clientSettings = MongoClientSettings.builder() .autoEncryptionSettings(autoEncryptionSettings).build(); MongoClient mongoClient = MongoClients.create(clientSettings); MongoCollection<Document> collection = mongoClient.getDatabase("test").getCollection("coll"); collection.drop(); // Clear old data collection.insertOne(new Document("encryptedField", "123456789")); System.out.println(collection.find().first().toJson()); // release resources mongoClient.close(); }
From source file:tour.ClientSideEncryptionSimpleTour.java
License:Apache License
/** * Run this main method to see the output of this quick example. * * Requires the mongodb-crypt library in the class path and mongocryptd on the system path. * Assumes the schema has already been created in MongoDB. * * @param args ignored args/*from ww w . j a v a2 s . c om*/ */ public static void main(final String[] args) { // This would have to be the same master key as was used to create the encryption key final byte[] localMasterKey = new byte[96]; new SecureRandom().nextBytes(localMasterKey); Map<String, Map<String, Object>> kmsProviders = new HashMap<String, Map<String, Object>>() { { put("local", new HashMap<String, Object>() { { put("key", localMasterKey); } }); } }; String keyVaultNamespace = "admin.datakeys"; AutoEncryptionSettings autoEncryptionSettings = AutoEncryptionSettings.builder() .keyVaultNamespace(keyVaultNamespace).kmsProviders(kmsProviders).build(); MongoClientSettings clientSettings = MongoClientSettings.builder() .autoEncryptionSettings(autoEncryptionSettings).build(); MongoClient mongoClient = MongoClients.create(clientSettings); MongoCollection<Document> collection = mongoClient.getDatabase("test").getCollection("coll"); collection.drop(); // Clear old data collection.insertOne(new Document("encryptedField", "123456789")); System.out.println(collection.find().first().toJson()); // release resources mongoClient.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 ww. jav 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(); }