Mongo 14.07.2024

This commit is contained in:
StNicolay 2024-07-21 08:58:27 +03:00
parent 36169dc3b0
commit beeb68c40f
Signed by: StNicolay
GPG Key ID: 9693D04DCD962B0D

View File

@ -45,6 +45,19 @@ db.users.find({name: {$type: "string"}})
db.users.find({name: {$regex: "om$"}}) db.users.find({name: {$regex: "om$"}})
db.users.replaceOne({name: "Tom"}, {name: "Bob", age: 2}, {upsert: true}) //Полностью заменяет документ. Если upsert true, то документ будет создан, если не найдёт db.users.replaceOne({name: "Tom"}, {name: "Bob", age: 2}, {upsert: true}) //Полностью заменяет документ. Если upsert true, то документ будет создан, если не найдёт
db.users.updateOne({name: "Tom"}, {$set: {salary: 300}, $inc: {age: 2}}) db.users.updateOne({name: "Tom"}, {$set: {salary: 300}, $inc: {age: 2}})
db.users.updateOne({name: "Tom"}, {$unset: {salary: 1}}) // Установить salary
db.users.updateOne({name: "Tom"}, {$push: {languages: "rus"}})
db.users.updateOne({name: "Tom"}, {$push: {languages: {$each: ["lang1", "lang2"]}}})
db.users.updateOne({name: "Tom"}, {$push: {languages: {$each: ["lang3", "lang4"], $position: 1, $slice: 5}}}) // Вставит с первого индекса и оставит только 5 элементов
db.users.updateOne({name: "Tom"}, {$addToSet: {languages: "rus"}}) // Push без дупликатов
db.users.updateOne({name: "Tom"}, {$pop: {languages: 1}}) // Удалить последний
db.users.updateOne({name: "Tom"}, {$pop: {languages: -1}}) // Удалить первый
db.users.updateOne({name: "Tom"}, {$pull: {languages: "eng"}}) // Удалить eng из языков
db.users.updateOne({name: "Tom"}, {$pullAll: {languages: ["eng", "rus"]}})
db.users.deleteOne({name: "Bob"})
db.users.deleteMany({name: /B\w+/i})
db.users.drop()
db.dropDatabase()
``` ```
## Курсоры ## Курсоры
@ -81,3 +94,12 @@ cursor.limit(5);null; // Поставить лимит без вывода да
* $all - определяет набор значений, все из которых должны быть в массиве * $all - определяет набор значений, все из которых должны быть в массиве
* $size - орпделяет кол-во элементов * $size - орпделяет кол-во элементов
* $elemMatch - определяет условие, которым должны соответсвовать элементы в массиве * $elemMatch - определяет условие, которым должны соответсвовать элементы в массиве
## Связывание документов
```js
google = db.companies.insertOne({name: "google", year: 1998})
sam = ({name: "Sam", age: 25, company: {$ref: "companies", $id: google.insertedId}})
db.users.insertOne(sam)
db.companies.findOne({_id: sam.company.$id})
```