Оператор проекции MongoDB - $ slice
Описание
В MongoDB оператор $ slice принимает решение о получении ряда элементов массива, который возвращает запрос. $ Slice принимает число, включающее отрицательное число, в качестве аргумента и возвращает результат. Аргумент может быть в форме пропуска и лимита, это означает, что оператор $ slice извлекает количество элементов, указанное в ограничении, из массива, чтобы пропустить определенное количество элементов.
Синтаксис:
db.collection.find ({field: value}, {array: {$ slice: count | [skip, limit]}});
Параметры:
название | Описание |
---|---|
коллекция | название коллекции. |
поле | Название поля или столбца. |
массив | имя поля типа массива или столбца. |
подсчитывать | количество элементов, которые будут получены из массива. Если число отсчетов больше, чем количество элементов в массиве, то все элементы будут извлечены из массива. |
пропускать | количество элементов, которые нужно пропустить из массива. |
предел | число или элементы, которые будут получены из массива. |
Имя нашей базы данных - «myinfo», а имя нашей коллекции - «table2». Вот коллекция ниже.
Коллекция образцов "table2"
{
"_id" : ObjectId("52860b2cf313832c9a6f1018"),
"student_id" : "STU001",
"sem" : "sem1",
"score" : [
45,
59,
75,
67,
52,
72
]
}
{
"_id" : ObjectId("52860b81f313832c9a6f1019"),
"student_id" : "STU002",
"sem" : "sem1",
"score" : [
55,
69,
57,
76,
63,
49
]
}
Пример - 1 оператора проекции MongoDB - $ slice
Если мы хотим выбрать все документы из коллекции "table2", которые удовлетворяют условиям -
Student_id является «STU001»
Показать оценку первых 3 предметов
можно использовать следующую команду mongodb:
>db.table2.find({ "student_id":"STU001" }, { "score": { $slice: 3}}).pretty();
Примечание. Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().
Выход:
{ "_id": ObjectId ("52860b2cf313832c9a6f1018"), "student_id": "STU001", "sem": "sem1", "Гол" : [ 45, 59, 75 ] }
Пример - 2 оператора проекции MongoDB - $ slice
Если мы хотим выбрать все документы из коллекции "table2", которые удовлетворяют условиям -
показать оценки первых 3 предметов для всех студентов.
можно использовать следующую команду mongodb:
>db.table2.find({}, { "score": { $slice: 3}}).pretty();
Примечание. Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().
Выход:
{ "_id": ObjectId ("52860b2cf313832c9a6f1018"), "student_id": "STU001", "sem": "sem1", "Гол" : [ 45, 59, 75 ] } { "_id": ObjectId ("52860b81f313832c9a6f1019"), "student_id": "STU002", "sem": "sem1", "Гол" : [ 55, 69, 57 ] }
Пример - 3 оператора проекции MongoDB - $ slice
Если мы хотим выбрать все документы из коллекции "table1", которые удовлетворяют условиям -
Покажите оценку четвертого и пятого предмета для всех студентов.
можно использовать следующую команду mongodb:
>db.table2.find({}, { "score": { $slice: [3,2]}}).pretty();
Примечание. Метод find () отображает документы в неструктурированном формате, но для отображения результатов в отформатированном виде можно использовать метод pretty ().
Выход:
{ "_id": ObjectId ("52860b2cf313832c9a6f1018"), "student_id": "STU001", "sem": "sem1", "Гол" : [ 67, 52 ] } { "_id": ObjectId ("52860b81f313832c9a6f1019"), "student_id": "STU002", "sem": "sem1", "Гол" : [ 76, 63 ] }
Предыдущая: $ elemMatch (проекция)
Далее: Операторы обновления поля $ inc
Новый контент: Composer: менеджер зависимостей для PHP , R программирования