Получить документы из коллекции с выборочными полями
Описание
На этой странице мы собираемся обсудить, как извлечь данные для определенных столбцов или кроме определенного столбца из коллекции в 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 программирования