Оператор оценочного запроса MongoDB — $ mod

Содержание
  1. Описание Оператор $ mod используется, чтобы помочь пользователю получить документы из коллекции для определенного поля, состоящего из четных или нечетных чисел. Это легко сделать, потому что оператор $ mod вычисляет остаток и проверяет, равен ли он 0 или нет. Он работает как предложение where в Sql. Если не используется параметр с $ mod, который ведет себя как предложение ‘where’, результаты будут отображаться там, где остаток равен 0, в противном случае результаты не будут отображаться. Оператор $ mod работает только с целочисленными значениями, а не с числовыми значениями строкового типа. Имя нашей базы данных — ‘myinfo’, а наша коллекция имя ‘testtable’. Вот коллекция ниже. Пример коллекции «testtable» {"_id": ObjectId ("528f4e630fe5e6467e58ae7b") , "user_id": "user1", "password": "1a2b3c", "sex": "Male", "age": 17, "date_of_join": "16/10/2010", "education": "MCA" , "профессия": "КОНСУЛЬТАНТ", "интерес": "МУЗЫКА", "экстра": {"имя_сообщества": ["СОВРЕМЕННАЯ МУЗЫКА", "КЛАССИЧЕСКАЯ МУЗЫКА", "ЗАПАДНАЯ МУЗЫКА"], "community_moder_id": ["MR . Alex "," MR. Dang "," MR Haris "]," community_members ": [700, 200, 1500]," friends ": {" valued_friends_id ": [" kumar "," harry "," anand "] , "ban_friends_id": ["Amir", "Raja", "mont"]}}} {"_id": ObjectId ("528f4e720fe5e6467e58ae7c"), "user_id": "user2", "password": "11aa1a", " пол ":" Мужской "," возраст ": 24," date_of_join ":" 17/10/2009 "," образование ":" MBA "," профессия ":" МАРКЕТИНГ "," интерес ":" МУЗЫКА "," extra ": {" community_name ": [" СОВРЕМЕННАЯ МУЗЫКА "," КЛАССИЧЕСКАЯ МУЗЫКА "," ЗАПАДНАЯ МУЗЫКА "]," co mmunity_moder_id ": [" Мистер Рой "," МИСТЕР. Das "," MR Doglus "]," community_members ": [500, 300, 1400]," friends ": {" valued_friends_id ": [" pal "," viki "," john "]," ban_friends_id ": [" jalan "," mono j "," evan "]}}} {" _id ": ObjectId (" 528f4e7e0fe5e6467e58ae7d ")," user_id ":" user3 "," password ":" b1c1d1 "," sex ":" Female " , «возраст»: 19, «date_of_join»: «16/10/2010», «образование»: «MCA», «профессия»: «IT COR.», «интерес»: «AR T», «extra»: {"community_name": ["СОВРЕМЕННОЕ ИСКУССТВО", "КЛАССИЧЕСКОЕ ИСКУССТВО", "ЗАПАДНОЕ ИСКУССТВО"], "community_mo der_id": ["MR. Рифель »,« MR. Sarma "," MR Bhatia "]," community_members ": [5000, 2000, 1500]," friends ": {" valued_friends_id ": [" philip "," anant "," alan "]," ban_friends_id ": [" Amir "," Raja "," mont "]}}} {" _id ": ObjectId (" 528f4e910fe5e6467e58ae7e ")," user_id ":" user4 "," password ":" abczyx "," sex ":" Женский ", "age": 22, "date_of_join": "17/8/2009", "education": "MBBS", "профессия": "ДОКТОР", "Interest": "SPORTS", "extra": {"community_name" : ["ATHELATIC", "GAMES FAN GYES", "FAVOURIT GAMES"], "community_moder_id": ["MR. Пол »,« MR. Das "," MR Doglus "]," community_members ": [2500, 2200, 3500]," friends ": {" valued_friends_id ": [" vinod "," viki "," john "]," ban_friends_id ": [" jalan "," monoj "," evan "]}}} {" _id ": ObjectId (" 528f4f8a0fe5e6467e58ae7f ")," user_id ":" user5 "," password ":" user5 "," sex ":" Male ", «возраст»: 21, «date_of_join»: «17/08/2011», «образование»: «MCA», «профессия»: «SW Engineer "," Interest ":" SPORTS "," extra ": {" community_name ": [" ATHELATIC "," GAMES FAN GYES "," FAVOURIT GAMES "]}} Документ, написанный в командной строке MongoDB $ mod operator Если мы хотим получить документы из коллекции «testtable», где значение поля «age» делится на 8 можно использовать следующую команду mongodb: > db.testtable.find ({"age": {$ mod: [8,0]}}). pretty (); NB Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty (). Эквивалентная команда SQL SELECT * FROM testtable WHERE MOD (age, 8) = 0; Вывод: {"_id": ObjectId ("528f4e720fe5e6467e58ae7c"), "user_id": "user2", "password": "11aa1a", "sex": "Male", «возраст»: 24, «date_of_join»: «17/10/2009», «образование»: «MBA», «профессия»: «МАРКЕТИНГ», «интерес»: «МУЗЫКА», «экстра»: {"community_n" ame »: [« СОВРЕМЕННАЯ МУЗЫКА »,« КЛАССИЧЕСКАЯ МУЗЫКА »,« ЗАПАДНАЯ МУЗЫКА »],« co mmunity_moder_id »: [« MR. Рой »,« MR. Das "," MR Doglus "]," community_members ": [500, 300, 1400]," friends ": {" valued_friends_id ": [" pal "," viki "," john "]," ban_friends_id ": [" jalan "," mono j "," evan "]}}} Документ, написанный в командной строке Приведенный выше вывод показывает, что документы появляются из коллекции, содержащей такие значение поля «возраст», которое имеет остаток 0 после деления на 8. «$ mod [8]» означает «возраст% (оператор по модулю) 8 = 0» MongoDB $ mod пример оператора Если мы хотим получить документы из коллекции «testtable», где значение поля «age» делится на 9, можно использовать следующую команду mongodb: gt; db.testtable.find ({"age": {$ mod: [9,0]}}) NB find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty (). Эквивалентная команда SQL SELECT * FROM testtable WHERE MOD (age, 9) = 0; Приведенная выше команда не возвращает никаких выходных данных, потому что ни один документ не содержит такого значения для поля «age», которое может делиться на 9. MongoDB $ mod, оператор с параметром Если мы хотим получить документы из коллекции «testtable», где значение поля «age» содержит такое значение, которое возвращает остаток 2 после деления на 5, можно использовать следующую команду mongodb: > db.testtable.find ({"age": {$ mod: [5,2]}}). pretty (); Эквивалентная команда SQL: SELECT * FROM testtable WHERE MOD (age, 5) = 2; Вывод: {"_id": ObjectId ("528f4e630fe5e6467e58ae7b"), "user_id": "user1", "password": "1a2b3c "," пол ":" Мужской "," возраст ": 17," date_of_join ":" 16/10/2010 "," образование ":" MCA "," профессия ":" КОНСУЛЬТАНТ "," интерес ":" МУЗЫКА "," extra ": {" community_name ": [" СОВРЕМЕННАЯ МУЗЫКА "," КЛАССИЧЕСКАЯ МУЗЫКА "," ЗАПАДНАЯ МУЗЫКА "]," community_moder_id ": [" MR. Alex "," MR. Dang "," MR. Haris "] , "community_members": [700, 200, 1500], "friends": {"valued_friends_id": ["kumar", "harry", "anand"], "ban_friends_id": ["Amir", "Raja", " mont "]}}} {" _id ": ObjectId (" 528f4e910fe5e6467e58ae7e ")," user_id ":" user4 "," password ":" abczyx "," sex ":" Female "," age ": 22," date_of_join ":" 17.08.2009 "," образование ":" MBBS. "," профессия ":" ВРАЧ "," интерес ":" СПОРТ "," дополнительный ": {" имя_сообщества ": [" АТЕЛАТИЧЕСКИЙ "," ИГРЫ ФАН-ГЕЙ "," ЛЮБИМЫЕ ИГРЫ "]," community_moder_id ": [" МИСТЕР. Пол »,« MR. Das "," MR Doglus "]," community_members ": [2500, 2200, 3500]," friends ": {" valued_friends_id ": [" vinod "," viki "," john "]," ban_friends_id ": [" jalan "," monoj "," evan "]}}} Документ, написанный в командной строке Приведенный выше вывод показывает, что документы появляются из коллекции, содержащей такой значение для поля «age», которое имеет остаток 2 после деления на 5. «$ mod [5,2]» означает «age% (оператор по модулю) 5 = 2».
  2. Пример коллекции «testtable»
  3. MongoDB $ mod operator
  4. Эквивалентная команда SQL
  5. MongoDB $ mod пример оператора
  6. Эквивалентная команда SQL
  7. MongoDB $ mod, оператор с параметром
  8. Эквивалентная команда SQL:

Описание

Оператор $ mod используется, чтобы помочь пользователю получить документы из коллекции для определенного поля, состоящего из четных или нечетных чисел. Это легко сделать, потому что оператор $ mod вычисляет остаток и проверяет, равен ли он 0 или нет. Он работает как предложение where в Sql.

Если не используется параметр с $ mod, который ведет себя как предложение ‘where’, результаты будут отображаться там, где остаток равен 0, в противном случае результаты не будут отображаться.

Оператор $ mod работает только с целочисленными значениями, а не с числовыми значениями строкового типа.

Имя нашей базы данных — ‘myinfo’, а наша коллекция имя ‘testtable’. Вот коллекция ниже.

Пример коллекции «testtable»

  {"_id": ObjectId ("528f4e630fe5e6467e58ae7b")  , "user_id": "user1", "password": "1a2b3c", "sex": "Male", "age": 17, "date_of_join": "16/10/2010", "education": "MCA"  , "профессия": "КОНСУЛЬТАНТ", "интерес": "МУЗЫКА", "экстра": {"имя_сообщества": ["СОВРЕМЕННАЯ МУЗЫКА", "КЛАССИЧЕСКАЯ МУЗЫКА", "ЗАПАДНАЯ МУЗЫКА"], "community_moder_id": ["MR  . Alex "," MR. Dang "," MR Haris "]," community_members ": [700, 200, 1500]," friends ": {" valued_friends_id ": [" kumar "," harry "," anand "]  , "ban_friends_id": ["Amir", "Raja", "mont"]}}} {"_id": ObjectId ("528f4e720fe5e6467e58ae7c"), "user_id": "user2", "password": "11aa1a", "  пол ":" Мужской "," возраст ": 24," date_of_join ":" 17/10/2009 "," образование ":" MBA "," профессия ":" МАРКЕТИНГ "," интерес ":" МУЗЫКА ","  extra ": {" community_name ": [" СОВРЕМЕННАЯ МУЗЫКА "," КЛАССИЧЕСКАЯ МУЗЫКА "," ЗАПАДНАЯ МУЗЫКА "]," co mmunity_moder_id ": [" Мистер Рой ","  МИСТЕР.  Das "," MR Doglus "]," community_members ": [500, 300, 1400]," friends ": {" valued_friends_id ": [" pal "," viki "," john "]," ban_friends_id ": ["  jalan "," mono j "," evan "]}}} {" _id ": ObjectId (" 528f4e7e0fe5e6467e58ae7d ")," user_id ":" user3 "," password ":" b1c1d1 "," sex ":" Female "  , «возраст»: 19, «date_of_join»: «16/10/2010», «образование»: «MCA», «профессия»: «IT COR.», «интерес»: «AR T», «extra»:  {"community_name": ["СОВРЕМЕННОЕ ИСКУССТВО", "КЛАССИЧЕСКОЕ ИСКУССТВО", "ЗАПАДНОЕ ИСКУССТВО"], "community_mo der_id": ["MR. Рифель »,« MR.  Sarma "," MR Bhatia "]," community_members ": [5000, 2000, 1500]," friends ": {" valued_friends_id ": [" philip "," anant "," alan "]," ban_friends_id ": ["  Amir "," Raja "," mont "]}}} {" _id ": ObjectId (" 528f4e910fe5e6467e58ae7e ")," user_id ":" user4 "," password ":" abczyx "," sex ":" Женский ",  "age": 22, "date_of_join": "17/8/2009", "education": "MBBS", "профессия": "ДОКТОР", "Interest": "SPORTS", "extra": {"community_name"  : ["ATHELATIC", "GAMES FAN GYES", "FAVOURIT GAMES"], "community_moder_id": ["MR.  Пол »,« MR.  Das "," MR Doglus "]," community_members ": [2500, 2200, 3500]," friends ": {" valued_friends_id ": [" vinod "," viki "," john "]," ban_friends_id ": ["  jalan "," monoj "," evan "]}}} {" _id ": ObjectId (" 528f4f8a0fe5e6467e58ae7f ")," user_id ":" user5 "," password ":" user5 "," sex ":" Male ",  «возраст»: 21, «date_of_join»: «17/08/2011», «образование»: «MCA», «профессия»: «SW  Engineer "," Interest ":" SPORTS "," extra ": {" community_name ": [" ATHELATIC "," GAMES FAN GYES "," FAVOURIT GAMES "]}}  

Документ, написанный в командной строке

MongoDB $ mod operator

Если мы хотим получить документы из коллекции «testtable», где значение поля «age» делится на 8 можно использовать следующую команду mongodb:

 > db.testtable.find ({"age": {$ mod: [8,0]}}).  pretty ();  

NB Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().

Эквивалентная команда SQL

  SELECT * FROM testtable WHERE MOD (age, 8) = 0;  

Вывод:

 {"_id": ObjectId ("528f4e720fe5e6467e58ae7c"), "user_id": "user2", "password": "11aa1a", "sex": "Male",  «возраст»: 24, «date_of_join»: «17/10/2009», «образование»: «MBA», «профессия»: «МАРКЕТИНГ», «интерес»: «МУЗЫКА», «экстра»: {"community_n"  ame »: [« СОВРЕМЕННАЯ МУЗЫКА »,« КЛАССИЧЕСКАЯ МУЗЫКА »,« ЗАПАДНАЯ МУЗЫКА »],« co mmunity_moder_id »: [« MR.  Рой »,« MR. Das "," MR Doglus "]," community_members ": [500, 300, 1400]," friends ": {" valued_friends_id ": [" pal "," viki "," john "]," ban_friends_id ": ["  jalan "," mono j "," evan "]}}} 

Документ, написанный в командной строке

Приведенный выше вывод показывает, что документы появляются из коллекции, содержащей такие значение поля «возраст», которое имеет остаток 0 после деления на 8. «$ mod [8]» означает «возраст% (оператор по модулю) 8 = 0»

MongoDB $ mod пример оператора

Если мы хотим получить документы из коллекции «testtable», где значение поля «age» делится на 9, можно использовать следующую команду mongodb:

  gt; db.testtable.find ({"age": {$ mod: [9,0]}})  

NB find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().

Эквивалентная команда SQL

   SELECT * FROM testtable WHERE MOD (age, 9) = 0;  

Приведенная выше команда не возвращает никаких выходных данных, потому что ни один документ не содержит такого значения для поля «age», которое может делиться на 9.

MongoDB $ mod, оператор с параметром

Если мы хотим получить документы из коллекции «testtable», где значение поля «age» содержит такое значение, которое возвращает остаток 2 после деления на 5, можно использовать следующую команду mongodb:

 > db.testtable.find ({"age": {$ mod: [5,2]}}). pretty ();  

Эквивалентная команда SQL:

  SELECT * FROM testtable WHERE MOD (age, 5) = 2;   

Вывод:

 {"_id": ObjectId ("528f4e630fe5e6467e58ae7b"), "user_id": "user1", "password": "1a2b3c  "," пол ":" Мужской "," возраст ": 17," date_of_join ":" 16/10/2010 "," образование ":" MCA "," профессия ":" КОНСУЛЬТАНТ "," интерес ":" МУЗЫКА  "," extra ": {" community_name ": [" СОВРЕМЕННАЯ МУЗЫКА "," КЛАССИЧЕСКАЯ МУЗЫКА "," ЗАПАДНАЯ МУЗЫКА "]," community_moder_id ": [" MR. Alex "," MR. Dang "," MR. Haris "]  , "community_members": [700, 200, 1500], "friends": {"valued_friends_id": ["kumar", "harry", "anand"], "ban_friends_id": ["Amir", "Raja", "  mont "]}}} {" _id ": ObjectId (" 528f4e910fe5e6467e58ae7e ")," user_id ":" user4 "," password ":" abczyx "," sex ":" Female "," age ": 22," date_of_join  ":" 17.08.2009 "," образование ":" MBBS. "," профессия ":" ВРАЧ "," интерес ":" СПОРТ "," дополнительный ": {" имя_сообщества ": [" АТЕЛАТИЧЕСКИЙ "," ИГРЫ ФАН-ГЕЙ "," ЛЮБИМЫЕ ИГРЫ "]," community_moder_id ": ["  МИСТЕР.  Пол »,« MR.  Das "," MR Doglus "]," community_members ": [2500, 2200, 3500]," friends ": {" valued_friends_id ": [" vinod "," viki "," john "]," ban_friends_id ": ["  jalan "," monoj "," evan "]}}} 

Документ, написанный в командной строке

Приведенный выше вывод показывает, что документы появляются из коллекции, содержащей такой значение для поля «age», которое имеет остаток 2 после деления на 5. «$ mod [5,2]» означает «age% (оператор по модулю) 5 = 2».

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