кодесурса
«MongoDB

Получить документы из коллекции с выборочными полями

script1adsense2code
script1adsense3code

Описание

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

Имя нашей базы данных - «myinfo», а имя нашей коллекции - «userdetails». Вот коллекция ниже.

Коллекция образцов "userdetails"

{
        "_id" : ObjectId("528cab88e1e41035b889f2bf"),
        "user_id" : "user1",
        "password" : "1a2b3c",
        "date_of_join" : "16/10/2010",
        "education" : "M.C.A.",
        "profession" : "CONSULTANT",
        "interest" : "MUSIC",
        "community_name" : [
                "MODERN MUSIC",
                "CLASSICAL MUSIC",
                "WESTERN MUSIC"
        ],
        "community_moder_id" : [
                "MR. Alex",
                "MR. Dang",
                "MR Haris"
        ],
        "community_members" : [
                700,
                200,
                1500
        ],
        "friends_id" : [
                "kumar",
                "harry",
                "anand"
        ],
        "ban_friends_id" : [
                "Amir",
                "Raja",
                "mont"
        ]
}
{
        "_id" : ObjectId("528cabb5e1e41035b889f2c0"),
        "user_id" : "user2",
        "password" : "11aa1a",
        "date_of_join" : "17/10/2009",
        "education" : "M.B.A.",
        "profession" : "MARKETING",
        "interest" : "MUSIC",
        "community_name" : [
                "MODERN MUSIC",
                "CLASSICAL MUSIC",
                "WESTERN MUSIC"
        ],
        "community_moder_id" : [
                "MR. Roy",
                "MR. Das",
                "MR Doglus"
        ],
        "community_members" : [
                500,
                300,
                1400
        ],
        "friends_id" : [
                "pal",
                "viki",
                "john"
        ],
        "ban_friends_id" : [
                "jalan",
                "monoj",
                "evan"
        ]
}
{
        "_id" : ObjectId("528cabd0e1e41035b889f2c1"),
        "user_id" : "user3",
        "password" : "b1c1d1",
        "date_of_join" : "16/10/2010",
        "education" : "M.C.A.",
        "profession" : "IT COR.",
        "interest" : "ART",
        "community_name" : [
                "MODERN ART",
                "CLASSICAL ART",
                "WESTERN ART"
        ],
        "community_moder_id" : [
                "MR. Rifel",
                "MR. Sarma",
                "MR Bhatia"
        ],
        "community_members" : [
                5000,
                2000,
                1500
        ],
        "friends_id" : [
                "philip",
                "anant",
                "alan"
        ],
        "ban_friends_id" : [
                "Amir",
                "Raja",
                "mont"
        ]
}
{
        "_id" : ObjectId("528cabece1e41035b889f2c2"),
        "user_id" : "user4",
        "password" : "abczyx",
        "date_of_join" : "17/8/2009",
        "education" : "M.B.B.S.",
        "profession" : "DOCTOR",
        "interest" : "SPORTS",
        "community_name" : [
                "ATHELATIC",
                "GAMES FAN GYES",
                "FAVOURIT GAMES"
        ],
        "community_moder_id" : [
                "MR. Paul",
                "MR. Das",
                "MR Doglus"
        ],
        "community_members" : [
                2500,
                2200,
                3500
        ],
        "friends_id" : [
                "vinod",
                "viki",
                "john"
        ],
        "ban_friends_id" : [
                "jalan",
                "monoj",
                "evan"
        ]
}

Образцы документов отображаются в командной строке

Выбрать избирательное поле из коллекции на основе критерия

Если мы хотим извлечь только «user_id» для всех документов из коллекции «userdetails», которые содержат образовательную квалификацию «MCA», можно использовать следующую команду mongodb:

>db.userdetails.find({"education":"M.C.A."},{"user_id" : 1}).pretty();

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

SQL-эквивалентный код

SELECT user_id 
FROM userdetails 
WHERE education="M.C.A."; 

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

 {"_id": ObjectId ("528cab88e1e41035b889f2bf"), "user_id": "user1"}
{"_id": ObjectId ("528cabd0e1e41035b889f2c1"), "user_id": "user3"}

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

Приведенный выше вывод показывает, что два документа были выбраны из коллекции "userdetails", но только данные user_id появились для тех документов, которые имеют квалификацию "MCA".

NB. В этом примере для выборки этого поля введено «1» после «user_id». Итак, какие поля вы хотите получить, вы должны указать «field_name», за которым следуют «:» и «1». 1 указывает на истину. Покажите пример ниже.

Выбрать более одного поля из коллекции на основе критерия

Если мы хотим извлечь «user_id», «password» и «date_of_jon» для всех документов из коллекции «userdetails», которые содержат образовательную квалификацию «MCA», можно использовать следующую команду mongodb:

 > db.userdetails.find ({"education": "MCA"}, {"user_id": 1, "password": 1, "date_of_join": 1}). pretty ();

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

SQL-эквивалентный код

 ВЫБЕРИТЕ user_id, пароль, date_of_join 
FROM userdetails 
ГДЕ образование = "MCA"; 

Выход:

 {
        "_id": ObjectId ("528cab88e1e41035b889f2bf"),
        "user_id": "user1",
        "пароль": "1a2b3c",
        "date_of_join": "16/10/2010"
}
{
        "_id": ObjectId ("528cabd0e1e41035b889f2c1"),
        "user_id": "user3",
        "пароль": "b1c1d1",
        "date_of_join": "16/10/2010"
}

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

Приведенный выше вывод показывает, что два документа были выбраны из коллекции "userdetails", но только данные user_id, password и date_of_join появились для тех документов, которые имеют квалификацию "MCA".

Извлечь все данные, кроме выборочного поля из коллекции на основе критериев

Если мы хотим получить все данные, кроме поля «user_id», для всех документов из коллекции «userdetails», в которых содержится образовательная квалификация «MCA», можно использовать следующую команду mongodb:

>db.userdetails.find({"education":"M.C.A."},{"user_id" : 0}).pretty();

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

Выход:

 {
        "_id": ObjectId ("528cab88e1e41035b889f2bf"),
        "пароль": "1a2b3c",
        "date_of_join": "16/10/2010",
        "образование": "MCA",
        "профессия": "КОНСУЛЬТАНТ",
        «Интерес»: «МУЗЫКА»,
        "имя сообщества" : [
                "СОВРЕМЕННАЯ МУЗЫКА",
                "КЛАССИЧЕСКАЯ МУЗЫКА",
                "ЗАПАДНАЯ МУЗЫКА"
        ],
        "community_moder_id": [
                "MR. Alex",
                "MR. Dang",
                "MR Haris"
        ],
        "community_members": [
                700,
                200,
                1500
        ],
        "friends_id": [
                «Кумар»,
                "Гарри",
                «Ананд»
        ],
        "ban_friends_id": [
                «Амир»,
                "Раджа",
                «Мон»
        ]
}
{
        "_id": ObjectId ("528cabd0e1e41035b889f2c1"),
        "пароль": "b1c1d1",
        "date_of_join": "16/10/2010",
        "образование": "MCA",
        "профессия": "IT COR.",
        «Интерес»: «АРТ»,
        "имя сообщества" : [
                "СОВРЕМЕННОЕ ИСКУССТВО",
                "КЛАССИЧЕСКОЕ ИСКУССТВО",
                "ЗАПАДНОЕ ИСКУССТВО"
        ],
        "community_moder_id": [
                "MR. Rifel",
                "MR. Sarma",
                "MR Bhatia"
        ],
        "community_members": [
                5000,
                2000,
                1500
        ],
        "friends_id": [
                «Филип»,
                "муравей",
                "Алан"
        ],
        "ban_friends_id": [
                «Амир»,
                "Раджа",
                «Мон»
        ]
}

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

Приведенный выше вывод показывает, что два документа были выбраны из коллекции "userdetails", и появились все поля, кроме данных user_id, для тех документов, которые имеют квалификацию "MCA"

Предыдущий: простой запрос MongoDB
Далее: MongoDB сортировка

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


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code