Вибірка і сортування
Всі документ з колекції можна дістати так:
db.<назва_колекції>.find()
Першим параметром в find
можна передати об'єкт з критеріями відбору. Спробуємо щось просте, наприклад, вибрати з колекції users
всі документи з іменем Богдан
:
db.users.find({name: "Богдан"}).pretty();
Хоча критерії відбору можуть бути значно складнішими.
Результат вибірки може бути не відформатованим, щоб отримати, наприклад, в консолі легкий для читання запис результату, спробуйте додати в кінці pretty
:
db.<назва_колекції>.find().pretty()
Проекція
Якщо ми хочемо дістати не всі поля з колекції, а лише конкретні, то слід скористатися проекцією.
Нехай нам потрібне лише поле name
з документу (зверніть увагу на другий параметр):
db.<назва_колекції>.find({}, {name: 1})
Щоб отримати всі поля, крім name
:
db.<назва_колекції>.find({}, {name: 0})
Слід зауважити, що системне поле _id
витягується завжди:
> db.users.find({}, {name: 1}).pretty();
{ "_id" : ObjectId("59906c79728a58253969ffc3"), "name" : "Іван" }
{ "_id" : ObjectId("59906c1b728a58253969ffc2"), "name" : "Богдан" }
Крім випадків, коли явно вказано {_id: 0}
:
> db.users.find({}, {name: 1, _id: 0}).pretty();
{ "name" : "Іван" }
{ "name" : "Богдан" }
Сортування
Ми можемо сортувати результати find
запиту, використовуючи метод sort
db.<назва_колекції>.find(...).sort({name: 1, age: -1})
де 1
— за зростанням, -1
— за спаданням.