Mongo 07.07.2024
This commit is contained in:
parent
de6f723b8e
commit
36169dc3b0
@ -14,6 +14,7 @@ db.users.insertOne({name: "Alex", company: {
|
||||
name: "Microsoft",
|
||||
country: "USA"
|
||||
}})
|
||||
db.users.insertOne({name: "Bob Jr", courses: [{name: "Mongo", grade: 3}, {name: "postgres", grade:5}]})
|
||||
load("/users.js") // Выполняет все опреции из файла
|
||||
db.users.find()
|
||||
db.users.findOne()
|
||||
@ -30,4 +31,53 @@ db.users.find().sort({$natural: -1}).limit(5) // Последние 5 докум
|
||||
db.users.find({}, {languages: {$slice: 1}}) // 1 первый элемент
|
||||
db.users.find({}, {languages: {$slice: -1}}) // 1 последний элемент
|
||||
db.users.find({}, {languages: {$slice: [-1, 2]}}) // Вернуть последний и первый элементы. Первый - сколько скипнуть, второй - сколько взять
|
||||
db.users.find().count() // Кол-во элементов
|
||||
db.users.find().skip(2).count(true) // Если используем skip или limit передаём в count true
|
||||
db.users.distinct("name") // Список уникальных имён
|
||||
db.users.find({age: {$gt: 30, $lt: 50}})
|
||||
db.users.find({age: {$in: [22, 32]}});
|
||||
db.users.find({$or: [name: "Nick", age:22]})
|
||||
db.users.find({languages: {$all: ["eng", "ger"]}}) // Найти всех пользователей, у которых есть и eng, и ger в языках (могут быть ещё). Порядок не важен
|
||||
db.users.find({courses: {$elemMatch: {name: "Mongo", grade: {$gt: 2}}}}) // Все пользователи у которых есть курс по монго с оценкой выше 2
|
||||
db.users.find({courses: {$size: 2}}) // Все пользователи с 2 курсами
|
||||
db.users.find({name: {$exists: true}})
|
||||
db.users.find({name: {$type: "string"}})
|
||||
db.users.find({name: {$regex: "om$"}})
|
||||
db.users.replaceOne({name: "Tom"}, {name: "Bob", age: 2}, {upsert: true}) //Полностью заменяет документ. Если upsert true, то документ будет создан, если не найдёт
|
||||
db.users.updateOne({name: "Tom"}, {$set: {salary: 300}, $inc: {age: 2}})
|
||||
```
|
||||
|
||||
## Курсоры
|
||||
|
||||
```js
|
||||
var cursor = db.users.find()
|
||||
while(cursor.hasNext()) {
|
||||
print(cursor.next().name);
|
||||
}
|
||||
|
||||
db.users.find().forEach(user => print(user.name));
|
||||
|
||||
cursor = db.users.find();
|
||||
cursor.limit(5);null; // Поставить лимит без вывода данных
|
||||
```
|
||||
|
||||
## Условные операторы
|
||||
|
||||
* $eq
|
||||
* $ne
|
||||
* $gt
|
||||
* $lt
|
||||
* $gte
|
||||
* $lte
|
||||
* $in
|
||||
* $nin
|
||||
* $or
|
||||
* $and
|
||||
* $not
|
||||
* $nor
|
||||
|
||||
## Поиск по массивам
|
||||
|
||||
* $all - определяет набор значений, все из которых должны быть в массиве
|
||||
* $size - орпделяет кол-во элементов
|
||||
* $elemMatch - определяет условие, которым должны соответсвовать элементы в массиве
|
||||
|
Reference in New Issue
Block a user