MongoDB skip () и limit ()
Описание
Функция limit () в 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"
]
}
Документ написан в командной строке.
Получить ограниченное количество документов из коллекции
Если мы хотим получить первые два документа из коллекции «userdetails», можно использовать следующую команду mongodb:
>db.userdetails.find().limit(2).pretty();
Примечание. Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().
SQL-эквивалентный код
SELECT *
FROM userdetails LIMIT 2;
Выход:
{ "_id": ObjectId ("528cab88e1e41035b889f2bf"), "user_id": "user1", "пароль": "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 ("528cabb5e1e41035b889f2c0"), "user_id": "user2", "пароль": "11aa1a", "date_of_join": "17/10/2009", "образование": "MBA", "профессия": "МАРКЕТИНГ", «Интерес»: «МУЗЫКА», "имя сообщества" : [ "СОВРЕМЕННАЯ МУЗЫКА", "КЛАССИЧЕСКАЯ МУЗЫКА", "ЗАПАДНАЯ МУЗЫКА" ], "community_moder_id": [ "MR. Roy", "MR. Das", "MR Doglus" ], "community_members": [ 500, 300, 1400 ], "friends_id": [ «Дружок», "Viki", «Джон» ], "ban_friends_id": [ "Jalan", "Monoj", "Evan" ] }
Документ написан в командной строке.
Приведенный выше вывод показывает, что только первые два документа были выбраны из коллекции "userdetails".
Получить количество документов с помощью пропуска ()
Если мы хотим получить два документа после первых двух документов из коллекции 'userdetails', можно использовать следующую команду mongodb:
>db.userdetails.find().skip(2).pretty();
Примечание. Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().
SQL-эквивалентный код
SELECT *
FROM userdetails SKIP 2;
Выход:
{ "_id": ObjectId ("528cabd0e1e41035b889f2c1"), "user_id": "user3", "пароль": "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": [ «Амир», "Раджа", «Мон» ] } { "_id": ObjectId ("528cabece1e41035b889f2c2"), "user_id": "user4", "пароль": "abczyx", "date_of_join": "17/8/2009", "образование": "MBBS", "профессия": "ДОКТОР", «Интерес»: «СПОРТ», "имя сообщества" : [ "ATHELATIC", "GAMES FAN GYES", "FAVOURIT GAMES" ], "community_moder_id": [ "MR. Paul", "MR. Das", "MR Doglus" ], "community_members": [ 2500, 2200, 3500 ], "friends_id": [ «Винод», "Viki", «Джон» ], "ban_friends_id": [ "Jalan", "Monoj", "Evan" ] }
Документ написан в командной строке.
Приведенный выше вывод показывает, что два документа после первых двух извлечены из коллекции "userdetails".
Получить количество документов с помощью skip () и limit ()
Если мы хотим получить два документа после первого документа из коллекции 'userdetails', можно использовать следующую команду mongodb:
>db.userdetails.find().skip(1).limit(2).pretty();
Примечание. Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().
SQL-эквивалентный код
SELECT *
FROM userdetails LIMIT 2 SKIP 1;
Выход:
{ "_id": ObjectId ("527e12fe7d99d3b3d4f62759"), "user_id": "user2", "пароль": "11aa1a", "date_of_join": "17/10/2009", "образование": "MBA", "профессия": "МАРКЕТИНГ", «Интерес»: «МУЗЫКА», "имя сообщества" : [ "СОВРЕМЕННАЯ МУЗЫКА", "КЛАССИЧЕСКАЯ МУЗЫКА", "ЗАПАДНАЯ МУЗЫКА" ], "community_moder_id": [ "MR. Roy", "MR. Das", "MR Doglus" ], "community_members": [ 500, 300, 1400 ], "friends_id": [ «Дружок», "Viki", «Джон» ], "ban_friends_id": [ "Jalan", "Monoj", "Evan" ] } { "_id": ObjectId ("527e131b7d99d3b3d4f6275a"), "user_id": "user3", "пароль": "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».
Предыдущая: сортировка MongoDB
Далее: язык запросов MongoDB
Новый контент: Composer: менеджер зависимостей для PHP , R программирования