кодесурса
«MongoDB

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

script1adsense2code
script1adsense3code

Описание

Оператор $ mod используется, чтобы помочь пользователю извлечь документы из коллекции для определенного поля, которое состоит из четного или нечетного числа. Это можно легко сделать, потому что оператор $ mod вычисляет остаток и проверяет, равен ли он 0 или нет. Это работает как «где» в 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" : "M.C.A.",
        "profession" : "CONSULTANT",
        "interest" : "MUSIC",
        "extra" : {
                "community_name" : [
                        "MODERN MUSIC",
                        "CLASSICAL MUSIC",
                        "WESTERN MUSIC"
                ],
                "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",
        "sex" : "Male",
        "age" : 24,
        "date_of_join" : "17/10/2009",
        "education" : "M.B.A.",
        "profession" : "MARKETING",
        "interest" : " MUSIC",
        "extra" : {
                "community_name" : [
                        "MODERN MUSIC",
                        "CLASSICAL MUSIC",
                        "WESTERN MUSIC"
                ],
                "co mmunity_moder_id" : [
                        "MR. Roy",
                        "MR. 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",
        "age" : 19,
        "date_of_join" : "16/10/2010",
        "education" : "M.C.A.",
        "profession" : "IT COR.",
        "interest" : "AR T",
        "extra" : {
                "community_name" : [
                        "MODERN ART",
                        "CLASSICAL ART",
                        "WESTERN ART"
                ],
                "community_mo der_id" : [
                        "MR. Rifel",
                        "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" : "Female",
        "age" : 22,
        "date_of_join" : "17/8/2009",
        "education" : "M.B.B.S.",
        "profession" : "DOCTOR",
        "interest" : "SPORTS",
        "extra" : {
                "community_name" : [
                        "ATHELATIC",
                        "GAMES FAN GYES",
                        "FAVOURIT GAMES"
                ],
                "community_moder_id" : [
                        "MR. Paul",
                        "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",
        "age" : 21,
        "date_of_join" : "17/08/2011",
        "education" : "MCA",
        "profession" : "S.W. Engineer",
        "interest" : "SPORTS",
        "extra" : {
                "community_name" : [
                        "ATHELATIC",
                        "GAMES FAN GYES",
                        "FAVOURIT GAMES"
                ]
        }
}

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

MongoDB $ mod оператор

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

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

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

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

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

Выход:

 {
        "_id": ObjectId ("528f4e720fe5e6467e58ae7c"),
        "user_id": "user2",
        "пароль": "11aa1a",
        "секс": "мужской",
        «возраст»: 24,
        "date_of_join": "17/10/2009",
        "образование": "MBA",
        "профессия": "МАРКЕТИНГ",
        «Интерес»: «МУЗЫКА»,
        "extra": {
                "имя сообщества" : [
                        "СОВРЕМЕННАЯ МУЗЫКА",
                        "КЛАССИЧЕСКАЯ МУЗЫКА",
                        "ЗАПАДНАЯ МУЗЫКА"
                ],
                "co mmunity_moder_id": [
                        "MR. Roy",
                        "MR. Das",
                        "MR Doglus"
                ],
                "community_members": [
                        500,
                        300,
                        1400
                ],
                "друзья": {
                        "valued_friends_id": [
                                «Дружок»,
                                "Viki",
                                «Джон»
                        ],
                        "ban_friends_id": [
                                "Jalan",
                                "моно J",
                                "Evan"
                        ]
                }
        }
}

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

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

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

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

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

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

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

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

Приведенная выше команда не возвращает выходных данных, поскольку ни один документ не содержит такого значения для поля «возраст», которое может делиться на 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",
        "пароль": "1a2b3c",
        "секс": "мужской",
        «возраст»: 17,
        "date_of_join": "16/10/2010",
        "образование": "MCA",
        "профессия": "КОНСУЛЬТАНТ",
        «Интерес»: «МУЗЫКА»,
        "extra": {
                "имя сообщества" : [
                        "СОВРЕМЕННАЯ МУЗЫКА",
                        "КЛАССИЧЕСКАЯ МУЗЫКА",
                        "ЗАПАДНАЯ МУЗЫКА"
                ],
                "community_moder_id": [
                        "MR. Alex",
                        "MR. Dang",
                        "MR Haris"
                ],
                "community_members": [
                        700,
                        200,
                        1500
                ],
                "друзья": {
                        "valued_friends_id": [
                                «Кумар»,
                                "Гарри",
                                «Ананд»
                        ],
                        "ban_friends_id": [
                                «Амир»,
                                "Раджа",
                                «Мон»
                        ]
                }
        }
}
{
        "_id": ObjectId ("528f4e910fe5e6467e58ae7e"),
        "user_id": "user4",
        "пароль": "abczyx",
        "секс": "женский",
        «возраст»: 22,
        "date_of_join": "17/8/2009",
        "образование": "MBBS",
        "профессия": "ДОКТОР",
        «Интерес»: «СПОРТ»,
        "extra": {
                "имя сообщества" : [
                        "ATHELATIC",
                        "GAMES FAN GYES",
                        "FAVOURIT GAMES"
                ],
                "community_moder_id": [
                        "MR. Paul",
                        "MR. Das",
                        "MR Doglus"
                ],
                "community_members": [
                        2500,
                        2200,
                        3500
                ],
                "друзья": {
                        "valued_friends_id": [
                                «Винод»,
                                "Viki",
                                «Джон»
                        ],
                        "ban_friends_id": [
                                "Jalan",
                                "Monoj",
                                "Evan"
                        ]
                }
        }
}

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

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

Предыдущая: $ type
Далее: $ regex

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code