MongoDb: драйвер Java

Содержание
  1. Введение MongoDB обеспечивает возможность подключения для клиентских приложений Java с помощью драйвера Java. Использовать драйвер Java просто, просто включите jar-файл драйвера mongo.jar в свой путь к классам. Здесь вы получите дополнительную информацию о Java API. Загрузите mongo.jar отсюда. JDBC API может выполнять следующие действия: Устанавливать соединение с базой данных или обращаться к любому источнику табличных данных. Отправлять различные операторы MongoDB. Извлекать и обрабатывать результаты, полученные из базы данных. Установление соединения Вот некоторые из распространенных методов подключения к серверу MongoDB: Для прямого подключения к одному серверу MongoDB: MongoClient mongoClient = new MongoClient ();//orMongoClient mongoClient = new MongoClient ("localhost");//orMongoClient mongoClient = new MongoClient ("localhost", 27017); Для подключения в набор реплик с автоматическим обнаружением основного, предоставьте начальный список членов: MongoClient mongoClient = new MongoClient (Arrays.asList (new ServerAddress ("localhost" , 27017), новый ServerAddress ("localhost", 27018), новый ServerAddress ("localhost", 27019))); Аутентификация (необязательно): MongoDB можно запустить в безопасном режиме, когда доступ к базам данных контролируется посредством аутентификации. При запуске в этом режиме любое клиентское приложение должно предоставить список учетных данных, которые будут использоваться для аутентификации. В драйвере Java вы просто предоставляете учетные данные при создании экземпляра MongoClient: MongoCredential credential = MongoCredential.createMongoCRCredential (имя пользователя, база данных, пароль); MongoClient mongoClient = new MongoClient ( новый ServerAddress (), Arrays.asList (учетные данные)); Подключение к базе данных MongoDB: В следующем коде показано, как создать подключение к базе данных MongoDB. Если база данных отсутствует, MongoDB создаст ее для вас. import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.DBObject; import com.mongodb.MongoClient; import java.util.List; import java.util.Set; import static java.util.concurrent.TimeUnit.SECONDS; public class mongodb_connection {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); System.out.println ("Соединение с базой данных выполнено успешно!"); БД db = mongoClient.getDB ("testdb"); } catch (исключение e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ()); }}} Вывод: F: java-mongodb> javac mongodb_connection.javaF: java-mongodb> java mongodb_connectionDatabase Connection Successful! Вставить документ Получив объект коллекции, вы можете вставлять документы в коллекцию. Например, давайте создадим документ студента, который в JSON будет представлен как: {"name": "Arun", "class": 'V', "rollno" : 1} Здесь мы использовали класс BasicDBObject для создания документа, а затем просто вставили его в коллекцию с помощью метода insert (). Код: import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb .DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays; открытый класс mongodb_connection_insert {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); System.out.println ("Подключение к базе данных выполнено успешно!") ; DBCollection collec = db.getCollection ("stucollec"); BasicDBObject doc = new BasicDBObject ("студент", "testdb") .append ("имя", "Арун") .append ("класс", 'V'). Append ("rollno", 1); collec.insert ( док); System.out.println («Документ успешно вставлен»); } catch (исключение e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ()); }}} Вывод: F: java-mongodb> java mongodb_connection_insertDatabase Connection Successful! Документ успешно вставлен Найти документ Чтобы показать или найти документ, просто используйте операцию findOne (), чтобы получить первый документ в коллекции. Этот метод возвращает один документ, и он полезен для вещей, где есть только один документ или вас интересует только первый. Код: import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb .DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays; открытый класс mongodb_connection_find_document {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); System.out.println ("Подключение к базе данных выполнено успешно!") ; DBCollection collec = db.getCollection ("stucollec"); DBObject myDoc = collec.findOne (); System.out.println (myDoc); } catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e. getMessage ()); }}} Вывод: F: java-mongodb> java mongodb_connection_find_document Подключение к базе данных выполнено успешно! {"_id": {"$ oid": "54897b3309b478e666780749"}, "student": "testdb", "name": "Arun", "class": "V", "rollno": 1} Вставьте еще две записи: {"name": "David", "class": 'V', "rollno": 2} {"name": "Shekhar", "class": 'V', "rollno": 3} Использование курсора для получения всех документов Чтобы получить все документы в коллекции, мы использовали метод find (). Метод find () возвращает объект DBCursor, который позволяет нам перебирать набор документов, соответствующих нашему запросу. Итак, чтобы запросить все документы и распечатать их: Код: import com.mongodb.MongoClient; import com.mongodb.MongoException ; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays; открытый класс mongodb_connection_find_all_documents {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection Collec = db.getCollection ("stucollec"); Курсор DBCursor = collec.find (); попробуйте {while (cursor.hasNext ()) {System.out.println (cursor.next ()); }} наконец {cursor.close (); }} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ()); }}} Вывод: F: java-mongodb> javac mongodb_connection_find_all_documents.javaF: java-mongodb> java mongodb_connection_find_all_documents {"_id" : {"$ oid": "54897b3309b478e666780749"}, "student": "testdb", "name": "Arun", "class": "V", "rollno": 1} {"_id": {"$ oid ":" 5489890c09b4351818c6e73f "}," student ":" testdb "," name ":" Дэвид "," class ":" V "," rollno ": 2} {" _id ": {" $ oid ":" 54898b4309b45fce267b9fbe "}," student ":" testdb "," name ":" Shekhar "," class ":" V "," rollno ": 3} Запрос одного документа Мы можем создать запрос для передачи методу find (), чтобы получить подмножество документов в нашей коллекции. Например, если мы хотим найти документ, для которого значение поля «rollno» равно 2, мы должны сделать следующее: Код: import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb. WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays ; открытый класс mongodb_connection_single_document_query {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection collec = db.getCollection ( "stucollec"); BasicDBObject query = new BasicDBObject ("rollno", 2); DBCursor cursor = collec.find (); курсор = collec.find (запрос); попробуйте {while (cursor.hasNext ()) {System.out.println (cursor.next ()); }} наконец {cursor.close (); }} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ()); }}} Вывод: F: java-mongodb> javac mongodb_connection_single_document_query.javaF: java-mongodb> java mongodb_connection_single_document_query {"_id" : {"$ oid": "5489890c09b4351818c6e73f"}, "student": "testdb", "name": "Дэвид", "class": "V", "rollno": 2} Запрос нескольких документов Мы можем использовать запрос, чтобы получить набор документов из нашей коллекции. Например, если вы хотите получить все документы, в которых «rollno»> = 2, мы можем написать: Код: import com. mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb .DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays; открытый класс mongodb_connection_multiple_documents_query {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection collec = db.getCollection ("stucollec");//найти все, где rollno> = 2 BasicDBObject query = new BasicDBObject ("rollno", new BasicDBObject ("$ gte", 2) ); DBCursor cursor = collec.find (запрос); попробуйте {while (cursor.hasNext ()) {System.out.println (cursor.next ()); }} наконец {cursor.close ();}} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ()); }}} Вывод: F: java-mongodb> javac mongodb_connection_multiple_documents_query. javaF: java-mongodb> java mongodb_connection_multiple_documents_query {"_id": {"$ oid": "5489890c09b4351818c6e73f"}, "student": "testdb", "name": "Дэвид", "class": "V", " rollno ": 2} {" _id ": {" $ oid ":" 54898b4309b45fce267b9fbe "}," student ":" testdb "," name ":" Shekhar "," class ":" V "," rollno ": 3 } Обновить документ Следующая программа показывает, как использовать $ set в java-программе для обновления единственного совпадающего документа. Код: import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb .DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import com.mongodb.WriteResult; import java.util. Массивы; открытый класс mongodb_connection_update_document {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection collection = db.getCollection ("stucollec"); запрос DBObject = новый BasicDBObject ("имя", "Шекхар"); Обновление DBObject = новый BasicDBObject (); update.put ("$ set", новый BasicDBObject ("rollno", 13)); WriteResult result = collec.update (запрос, обновление); DBCursor cursor = collec.find (); попробуйте {while (cursor.hasNext ()) {System.out.println (cursor.next ()); }} наконец {cursor.close (); }} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ()); }}} Вывод: F: java-mongodb> javac mongodb_connection_update_document.javaF: java-mongodb> java mongodb_connection_update_document {"_id" : {"$ oid": "54897b3309b478e666780749"}, "student": "testdb", "name": "Arun", "class": "V", "rollno": 1} {"_id": {"$ oid ":" 5489890c09b4351818c6e73f "}," student ":" testdb "," name ":" Дэвид "," class ":" V "," rollno ": 2} {" _id ": {" $ oid ":" 54898b4309b45fce267b9fbe "}," student ":" testdb "," name ":" Shekhar "," class ":" V "," rollno ": 13} Удалить документ Следующая программа показывает, как удалить один совпадающий документ. Код: import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb .DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import com.mongodb.WriteResult; import java.util. Массивы; открытый класс mongodb_connection_delete_document {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection collec = db.getCollection ("stucollec"); запрос DBObject = новый BasicDBObject ("rollno", 13); Результат WriteResult = collec.remove (запрос); System.out.println («Количество удаленных документов:» + result.getN ()); DBCursor cursor = collec.find (); попробуйте {while (cursor.hasNext ()) {System.out.println (cursor.next ()); }} наконец {cursor.close (); }} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ()); }}} Вывод: F: java-mongodb> javac mongodb_connection_delete_document.javaF: java-mongodb> java mongodb_connection_delete_document Количество удаленных документов : 1 {"_id": {"$ oid": "54897b3309b478e666780749"}, "student": "testdb", "name": "Arun", "class": "V", "rollno": 1} {" _id ": {" $ oid ":" 5489890c09b4351818c6e73f "}," student ":" testdb "," name ":" Дэвид "," class ":" V "," rollno ": 2} Список коллекций Следующая программа возвращает список доступных коллекций в базе данных: Примечание. Коллекция system.indexes создается автоматически и перечисляет все индексы в базе данных, и к ним нельзя обращаться напрямую. Код: import com.mongodb.MongoClient; import com.mongodb. MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.Serv erAddress; import com.mongodb.WriteResult; import java.util.Arrays; public class mongodb_connection_list_of_collection {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient .getDB ("testdb"); for (String s: db.getCollectionNames ()) {System.out.println (s);}} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ()); }}} Вывод: F: java-mongodb> javac mongodb_connection_list_of_collection.javaF: java-mongodb> java mongodb_connection_list_of_collectionstucollecsystem.indexes Удаление коллекции Вы можете удалить коллекцию с помощью метода drop (): Код: import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import com.mongodb.WriteResult; import java.util. Массивы; открытый класс mongodb_connection_drop_a_collection {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection coll = db.getCollection ("stucollec"); coll.drop (); System.out.println (db.getCollectionNames ()); } catch (исключение e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ()); }}} Вывод: F: java-mongodb> javac mongodb_connection_drop_a_collection.javaF: java-mongodb> java mongodb_connection_drop_a_collection [system.indexes ] Удаление базы данных Вы можете удалить коллекцию с помощью метода drop (): Код: import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb. BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import com.mongodb.WriteResult; import java.util.Arrays; публичный класс mongodb_connection_drop_a_database {public static void main (String args [] ) {попробуйте {MongoClient mongoClient = new MongoClient (); mongoClient.dropDatabase ("testdb"); для (String s: mongoClient.getDatabaseNames ()) {System.out.println (s); }} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ()); }}} Вывод: F: java-mongodb> javac mongodb_connection_drop_a_database.javaF: java-mongodb> java mongodb_connection_drop_a_collection [system.indexes ]
  2. Установление соединения
  3. Вставить документ
  4. Найти документ
  5. Использование курсора для получения всех документов
  6. Запрос одного документа
  7. Запрос нескольких документов
  8. Обновить документ
  9. Удалить документ
  10. Список коллекций
  11. Удаление коллекции
  12. Удаление базы данных

Введение

MongoDB обеспечивает возможность подключения для клиентских приложений Java с помощью драйвера Java. Использовать драйвер Java просто, просто включите jar-файл драйвера mongo.jar в свой путь к классам. Здесь вы получите дополнительную информацию о Java API.

Загрузите mongo.jar отсюда.

JDBC API может выполнять следующие действия:

  • Устанавливать соединение с базой данных или обращаться к любому источнику табличных данных.
  • Отправлять различные операторы MongoDB.
  • Извлекать и обрабатывать результаты, полученные из базы данных.

Установление соединения

Вот некоторые из распространенных методов подключения к серверу MongoDB:

Для прямого подключения к одному серверу MongoDB:

  MongoClient  mongoClient = new MongoClient ();//orMongoClient mongoClient = new MongoClient ("localhost");//orMongoClient mongoClient = new MongoClient ("localhost", 27017);  

Для подключения в набор реплик с автоматическим обнаружением основного, предоставьте начальный список членов:

  MongoClient mongoClient = new MongoClient (Arrays.asList (new ServerAddress ("localhost"  , 27017), новый ServerAddress ("localhost", 27018), новый ServerAddress ("localhost", 27019)));  

Аутентификация (необязательно):
MongoDB можно запустить в безопасном режиме, когда доступ к базам данных контролируется посредством аутентификации. При запуске в этом режиме любое клиентское приложение должно предоставить список учетных данных, которые будут использоваться для аутентификации. В драйвере Java вы просто предоставляете учетные данные при создании экземпляра MongoClient:

  MongoCredential credential = MongoCredential.createMongoCRCredential (имя пользователя, база данных, пароль); MongoClient mongoClient = new MongoClient (  новый ServerAddress (), Arrays.asList (учетные данные));   

Подключение к базе данных MongoDB:

В следующем коде показано, как создать подключение к базе данных MongoDB. Если база данных отсутствует, MongoDB создаст ее для вас.

  import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import  com.mongodb.DBObject; import com.mongodb.MongoClient; import java.util.List; import java.util.Set; import static java.util.concurrent.TimeUnit.SECONDS; public class mongodb_connection {public static void main (String args  []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); System.out.println ("Соединение с базой данных выполнено успешно!");  БД db = mongoClient.getDB ("testdb");  } catch (исключение e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ());  }}}  

Вывод:

 F:  java-mongodb> javac mongodb_connection.javaF:  java-mongodb> java mongodb_connectionDatabase Connection Successful! 

Вставить документ

Получив объект коллекции, вы можете вставлять документы в коллекцию. Например, давайте создадим документ студента, который в JSON будет представлен как:

  {"name": "Arun", "class": 'V', "rollno"  : 1}  

Здесь мы использовали класс BasicDBObject для создания документа, а затем просто вставили его в коллекцию с помощью метода insert ().

Код:

  import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb  .DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays; открытый класс mongodb_connection_insert {public  static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); System.out.println ("Подключение к базе данных выполнено успешно!")  ; DBCollection collec = db.getCollection ("stucollec");  BasicDBObject doc = new BasicDBObject ("студент", "testdb") .append ("имя", "Арун") .append ("класс", 'V'). Append ("rollno", 1); collec.insert (  док);  System.out.println («Документ успешно вставлен»);  } catch (исключение e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ());  }}}  

Вывод:

 F:  java-mongodb> java mongodb_connection_insertDatabase Connection Successful! Документ успешно вставлен 

Найти документ

Чтобы показать или найти документ, просто используйте операцию findOne (), чтобы получить первый документ в коллекции. Этот метод возвращает один документ, и он полезен для вещей, где есть только один документ или вас интересует только первый.

Код:

  import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb  .DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays; открытый класс mongodb_connection_find_document {public  static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); System.out.println ("Подключение к базе данных выполнено успешно!")  ; DBCollection collec = db.getCollection ("stucollec");  DBObject myDoc = collec.findOne ();  System.out.println (myDoc);  } catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e. getMessage ());  }}}  

Вывод:

 F:  java-mongodb> java mongodb_connection_find_document Подключение к базе данных выполнено успешно! {"_id": {"$ oid":  "54897b3309b478e666780749"}, "student": "testdb", "name": "Arun", "class": "V", "rollno": 1} 

Вставьте еще две записи:

  {"name": "David", "class": 'V', "rollno": 2}  
   {"name": "Shekhar", "class": 'V', "rollno": 3}  

Использование курсора для получения всех документов

Чтобы получить все документы в коллекции, мы использовали метод find (). Метод find () возвращает объект DBCursor, который позволяет нам перебирать набор документов, соответствующих нашему запросу. Итак, чтобы запросить все документы и распечатать их:

Код:

  import com.mongodb.MongoClient; import com.mongodb.MongoException  ; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress;  import java.util.Arrays; открытый класс mongodb_connection_find_all_documents {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection  Collec = db.getCollection ("stucollec"); Курсор DBCursor = collec.find ();  попробуйте {while (cursor.hasNext ()) {System.out.println (cursor.next ());  }} наконец {cursor.close ();  }} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ());  }}}  

Вывод:

 F:  java-mongodb> javac mongodb_connection_find_all_documents.javaF:  java-mongodb> java mongodb_connection_find_all_documents {"_id"  : {"$ oid": "54897b3309b478e666780749"}, "student": "testdb", "name": "Arun", "class": "V", "rollno": 1} {"_id": {"$  oid ":" 5489890c09b4351818c6e73f "}," student ":" testdb "," name ":" Дэвид "," class ":" V "," rollno ": 2} {" _id ": {" $ oid ":"  54898b4309b45fce267b9fbe "}," student ":" testdb "," name ":" Shekhar "," class ":" V "," rollno ": 3} 

Запрос одного документа

Мы можем создать запрос для передачи методу find (), чтобы получить подмножество документов в нашей коллекции. Например, если мы хотим найти документ, для которого значение поля «rollno» равно 2, мы должны сделать следующее:

Код:

  import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb. WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays  ; открытый класс mongodb_connection_single_document_query {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection collec = db.getCollection (  "stucollec"); BasicDBObject query = new BasicDBObject ("rollno", 2); DBCursor cursor = collec.find ();  курсор = collec.find (запрос);  попробуйте {while (cursor.hasNext ()) {System.out.println (cursor.next ());  }} наконец {cursor.close ();  }} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ());  }}}  

Вывод:

 F:  java-mongodb> javac mongodb_connection_single_document_query.javaF:  java-mongodb> java mongodb_connection_single_document_query {"_id"  : {"$ oid": "5489890c09b4351818c6e73f"}, "student": "testdb", "name": "Дэвид", "class": "V", "rollno": 2} 

Запрос нескольких документов

Мы можем использовать запрос, чтобы получить набор документов из нашей коллекции. Например, если вы хотите получить все документы, в которых «rollno»> = 2, мы можем написать:

Код:

  import com.  mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb  .DBCursor; import com.mongodb.ServerAddress; import java.util.Arrays; открытый класс mongodb_connection_multiple_documents_query {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db =  mongoClient.getDB ("testdb"); DBCollection collec = db.getCollection ("stucollec");//найти все, где rollno> = 2 BasicDBObject query = new BasicDBObject ("rollno", new BasicDBObject ("$ gte", 2)  );  DBCursor cursor = collec.find (запрос); попробуйте {while (cursor.hasNext ()) {System.out.println (cursor.next ());  }} наконец {cursor.close ();}} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ());  }}}  

Вывод:

 F:  java-mongodb> javac mongodb_connection_multiple_documents_query. javaF:  java-mongodb> java mongodb_connection_multiple_documents_query {"_id": {"$ oid": "5489890c09b4351818c6e73f"}, "student": "testdb", "name": "Дэвид", "class": "V", "  rollno ": 2} {" _id ": {" $ oid ":" 54898b4309b45fce267b9fbe "}," student ":" testdb "," name ":" Shekhar "," class ":" V "," rollno ": 3  } 

Обновить документ

Следующая программа показывает, как использовать $ set в java-программе для обновления единственного совпадающего документа.

Код:

  import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb  .DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import com.mongodb.WriteResult; import java.util.  Массивы; открытый класс mongodb_connection_update_document {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection collection = db.getCollection  ("stucollec"); запрос DBObject = новый BasicDBObject ("имя", "Шекхар");  Обновление DBObject = новый BasicDBObject ();  update.put ("$ set", новый BasicDBObject ("rollno", 13));  WriteResult result = collec.update (запрос, обновление);  DBCursor cursor = collec.find ();  попробуйте {while (cursor.hasNext ()) {System.out.println (cursor.next ());  }} наконец {cursor.close ();  }} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ());  }}}  

Вывод:

 F:  java-mongodb> javac mongodb_connection_update_document.javaF:  java-mongodb> java mongodb_connection_update_document {"_id"  : {"$ oid": "54897b3309b478e666780749"}, "student": "testdb", "name": "Arun", "class": "V", "rollno": 1} {"_id": {"$  oid ":" 5489890c09b4351818c6e73f "}," student ":" testdb "," name ":" Дэвид "," class ":" V "," rollno ": 2} {" _id ": {" $ oid ":"  54898b4309b45fce267b9fbe "}," student ":" testdb "," name ":" Shekhar "," class ":" V "," rollno ": 13} 

Удалить документ

Следующая программа показывает, как удалить один совпадающий документ.

Код:

  import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb  .DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import com.mongodb.WriteResult; import java.util. Массивы; открытый класс mongodb_connection_delete_document {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection collec = db.getCollection  ("stucollec"); запрос DBObject = новый BasicDBObject ("rollno", 13);  Результат WriteResult = collec.remove (запрос);  System.out.println («Количество удаленных документов:» + result.getN ()); DBCursor cursor = collec.find ();  попробуйте {while (cursor.hasNext ()) {System.out.println (cursor.next ());  }} наконец {cursor.close ();  }} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ());  }}}  

Вывод:

 F:  java-mongodb> javac mongodb_connection_delete_document.javaF:  java-mongodb> java mongodb_connection_delete_document Количество удаленных документов  : 1 {"_id": {"$ oid": "54897b3309b478e666780749"}, "student": "testdb", "name": "Arun", "class": "V", "rollno": 1} {"  _id ": {" $ oid ":" 5489890c09b4351818c6e73f "}," student ":" testdb "," name ":" Дэвид "," class ":" V "," rollno ": 2} 

Список коллекций

Следующая программа возвращает список доступных коллекций в базе данных:

Примечание. Коллекция system.indexes создается автоматически и перечисляет все индексы в базе данных, и к ним нельзя обращаться напрямую.

Код:

  import com.mongodb.MongoClient; import com.mongodb.  MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.Serv  erAddress; import com.mongodb.WriteResult; import java.util.Arrays; public class mongodb_connection_list_of_collection {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient  .getDB ("testdb"); for (String s: db.getCollectionNames ()) {System.out.println (s);}} catch (Exception e) {System.err.println (e.getClass (). getName  () + ":" + e.getMessage ());  }}}  

Вывод:

 F:  java-mongodb> javac mongodb_connection_list_of_collection.javaF:  java-mongodb> java mongodb_connection_list_of_collectionstucollecsystem.indexes 

Удаление коллекции

Вы можете удалить коллекцию с помощью метода drop ():

Код:

  import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.BasicDBObject; import  com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import com.mongodb.WriteResult; import java.util. Массивы; открытый класс mongodb_connection_drop_a_collection {public static void main (String args []) {попробуйте {MongoClient mongoClient = new MongoClient ("localhost", 27017); DB db = mongoClient.getDB ("testdb"); DBCollection coll = db.getCollection  ("stucollec");  coll.drop ();  System.out.println (db.getCollectionNames ());  } catch (исключение e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ());  }}}  

Вывод:

 F:  java-mongodb> javac mongodb_connection_drop_a_collection.javaF:  java-mongodb> java mongodb_connection_drop_a_collection [system.indexes  ] 

Удаление базы данных

Вы можете удалить коллекцию с помощью метода drop ():

Код:

  import com.mongodb.MongoClient; import com.mongodb.MongoException; import com.mongodb.WriteConcern; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.  BasicDBObject; import com.mongodb.DBObject; import com.mongodb.DBCursor; import com.mongodb.ServerAddress; import com.mongodb.WriteResult; import java.util.Arrays; публичный класс mongodb_connection_drop_a_database {public static void main (String args []  ) {попробуйте {MongoClient mongoClient = new MongoClient ();  mongoClient.dropDatabase ("testdb");  для (String s: mongoClient.getDatabaseNames ()) {System.out.println (s);  }} catch (Exception e) {System.err.println (e.getClass (). getName () + ":" + e.getMessage ());  }}}  

Вывод:

 F:  java-mongodb> javac mongodb_connection_drop_a_database.javaF:  java-mongodb> java mongodb_connection_drop_a_collection [system.indexes  ] 

Оцените статью
nanomode.ru
Добавить комментарий