кодесурса
«MongoDB

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

script1adsense2code
script1adsense3code

Описание

На этой странице мы собираемся обсудить использование оператора $ all. Оператор $ all используется для извлечения документов из коллекции, если он соответствует всем значениям в указанном массиве.

Имя нашей базы данных - «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"
                        ]
                }
        }
}

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

MongoDB $ все оператор

Если мы хотим извлечь документы из коллекции «testtable», где значение «community_members» равно 5000, 2000, а 1500 - это значение «extra» объекта стиля JSON, можно использовать следующую команду mongodb:

>db.testtable.find({"extra.community_members" : {$all : [5000,2000,1500]}}).pretty();

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

Вывод команды:

 {
        "_id": ObjectId ("528f4e7e0fe5e6467e58ae7d"),
        "user_id": "user3",
        "пароль": "b1c1d1",
        "секс": "женский",
        «возраст»: 19,
        "date_of_join": "16/10/2010",
        "образование": "MCA",
        "профессия": "IT COR.",
        «проценты»: «АР Т»,
        "extra": {
                "имя сообщества" : [
                        "СОВРЕМЕННОЕ ИСКУССТВО",
                        "КЛАССИЧЕСКОЕ ИСКУССТВО",
                        "ЗАПАДНОЕ ИСКУССТВО"
                ],
                "community_mo der_id": [
                        "MR. Rifel",
                        "MR. Sarma",
                        "MR Bhatia"
                ],
                "community_members": [
                        5000,
                        2000,
                        1500
                ],
                "друзья": {
                        "valued_friends_id": [
                                «Филип»,
                                "муравей",
                                "Алан"
                        ],
                        "ban_friends_id": [
                                «Амир»,
                                "Раджа",
                                «Мон»
                        ]
                }
        }
}

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

Приведенный выше вывод показывает, что документ появляется из коллекции, содержащей все значения в "community_members", соответствующие значениям, указанным в массиве.

Оператор MongoDB $ all - пример2

>db.testtable.find({"extra.community_members" : {$all : [5000,1500]}}).pretty();

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

Вывод команды:

 {
        "_id": ObjectId ("528f4e7e0fe5e6467e58ae7d"),
        "user_id": "user3",
        "пароль": "b1c1d1",
        "секс": "женский",
        «возраст»: 19,
        "date_of_join": "16/10/2010",
        "образование": "MCA",
        "профессия": "IT COR.",
        «проценты»: «АР Т»,
        "extra": {
                "имя сообщества" : [
                        "СОВРЕМЕННОЕ ИСКУССТВО",
                        "КЛАССИЧЕСКОЕ ИСКУССТВО",
                        "ЗАПАДНОЕ ИСКУССТВО"
                ],
                "community_mo der_id": [
                        "MR. Rifel",
                        "MR. Sarma",
                        "MR Bhatia"
                ],
                "community_members": [
                        5000,
                        2000,
                        1500
                ],
                "друзья": {
                        "valued_friends_id": [
                                «Филип»,
                                "муравей",
                                "Алан"
                        ],
                        "ban_friends_id": [
                                «Амир»,
                                "Раджа",
                                «Мон»
                        ]
                }
        }
}

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

Приведенный выше вывод показывает, что документ появляется из коллекции, содержащей все значения в "community_members", соответствующие значениям, указанным в массиве. Но не обязательно, чтобы документ содержал только значения, указанные в массиве. Другие значения, исключая эти значения, также могут присутствовать. Здесь, в примере, значения, указанные в массивах 5000 и 1500, присутствуют в документе вместе с другими значениями, такими как 2000.

Оператор MongoDB $ all - пример3

>db.testtable.find({"extra.community_members" : {$all : [1200,1500]}})

Приведенная выше команда не принесет результатов. Потому что значения, указанные в массиве, отсутствуют в документах.

Таким образом, чтобы получить выходные данные, все значения, указанные в массиве, должны присутствовать в документах, но все значения в документах не должны присутствовать в массиве критериев.

Предыдущая: $ где
Далее: $ elemMatch

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code