# MongoDB

## Установка

Воспользуйтесь докером, бога ради

## Команды

```js
use test
db.users.insertOne({name: "Nick", languages: ["eng", "ger"]})
db.users.insertMany([{name: "Nick"}, {name: "Bob"}])
db.users.insertOne({name: "Alex", company: {
    name: "Microsoft",
    country: "USA"
}})
load("/users.js") // Выполняет все опреции из файла
db.users.find()
db.users.findOne()
db.users.find({name: "Bob", languages: null}) // Вывести всех Бобов без языка
db.users.find({languages: ["eng", "ger"]}) // Есть английский и немецкий в таком порядке
db.users.find({"languages.0": "eng"}) // eng на первом месте
db.users.find({}, {name: 1}) // Вывести только имя и _id
db.users.find({}, {name: true, _id: false}) // Вывести всё кроме name и _id
// true == 1 && false == 0
db.users.find({"company.name": "Microsoft"})
db.users.find().skip(2).limit(3)
db.users.find().sort({name: 1})
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]}}) // Вернуть последний и первый элементы. Первый - сколько скипнуть, второй - сколько взять
```
