Определения
- Что такое MongoDB?
MogoDB – это документоориентированная база данных с необходимыми вам масштабируемостью и гибкостью, запросами и индексированием.
- Что такое база данных?
База данных содержит набор коллекций. Как правило, база данных имеет отдельный каталог файловой системы, где хранит свои данные. У каждой базы данный свой собственный набор файлов в файловой системе. Согласно общим правилам, одна база данных связывается с одним приложением.
- Что такое коллекция?
Коллекция – это группа документов. Если предположить, что документ в MongoDB– это аналог строки в таблице реляционной базы данных, то коллекция – это аналог таблицы.
- Что такое документ?
Запись в MongoDB называется документом. Это структура данных, которая состоит из пар поле-значение. Документы MongoDB напоминают объекты JSON. Значения полей могут содержать другие документы, массивы или массивы документов.
- Что такое поле?
У документа имеется динамическая схема. Благодаря таким схемам, документы могут иметь в одной коллекции разные наборы полей и разные имена для общих полей.
- Что такое первичный ключ?
В MongoDB для каждого документа, который хранится в коллекции, необходимо указать поле _id, значение которого уникально. Это поле работает по принципу первичного ключа. Если у добавленного документа отсутствует поле _id, драйвер MongoDB автоматически генерирует для поля _id значение типа ObjectId.
- Для чего нужен NoSQL (нереляционная база данных)?
Нереляционная база данных позволяет добавлять данные, не придерживаясь какой-то заранее определенной схемы. За счет этого свойства такие базы данных идеально подходят для того, чтобы хранить и обрабатывать неструктурированные данные.
- Для чего нужен MongoDB?
MongoDB – это документоориентированная база данных. Это значит, что она хранит данные в JSON-подобных документах. Считается, что такой способ представления данных - наиболее естественный. Кроме того, он гораздо более выразительный и функциональный, нежели обычная модель строк и столбцов.
Команды оболочки MongoDB
- Просмотр баз данных
show dbs
С помощью этой команды можно просмотреть все базы данных, которые хранятся на сервере MongoDB.
- Выбор базу данных
use <database_name>
С помощью этой команды можно переключаться между базами данных, чтобы выбрать ту, которую вы хотите использовать.
- Просмотр коллекций
show collections
С помощью этой команды можно просмотреть все коллекции, которые вы используете в базе данных.
- Удаление базы данных
db.dropDatabase()
С помощью этой команды можно удалить выбранную базу данных.
- Создание коллекции
db.createCollection("<collection_name>")
С помощью этой команды можно создать коллекцию в выбранной базе данных.
- Добавление документа
db.<collection_name>.insertOne({
<key>: <value>,
<key>: <value>,
...
})
С помощью этой команды можно добавить документ в выбранную коллекцию.
- Добавление нескольких документов
db.<collection_name>.insertMany([
{
<key>: <value>,
<key>: <value>,
...
},
{
<key>: <value>,
<key>: <value>,
...
},
...
])
С помощью этой команды можно добавить несколько документов в выбранную коллекцию.
- Поиск документов
db.<collection_name>.find()
С помощью это команды можно найти документ в выбранной коллекции.
- Поиск документов с помощью запроса
db.<collection_name>.find({
<key>: <value>
})
С помощью этой команды можно найти документ, соответствующий запросу, в выбранной коллекции.
- Подсчет документов
db.<collection_name>.find({
<key>: <value>
}).count()
С помощью этой команды можно подсчитать количество документов в коллекции, которые соответствуют запросу.
- Ограничение количества документов
db.<collection_name>.find().limit(<number>)
С помощью этой команды можно ограничить количество документов, возвращаемых командой find.
- forEach()
db.<collection_name>.find().forEach(function(doc) {
print("Key: " + doc.<key> + " Value: " + doc.<value>);
})
С помощью этой команды можно пройтись по всем документам в выбранной коллекции и напечатать ключи и значения каждого из них.
- Поиск одного документа
db.<collection_name>.findOne({
<key>: <value>
})
С помощью этой команды можно найти первый документ из выбранной коллекции, соответствующих запросу.
- Обновление документа
db.<collection_name>.updateOne({
<key>: <value>
}, {
$set: {
<key>: <value>
}
})
С помощью этой команды можно обновить значение первого документа из выбранной коллекции, соответствующего запросу. Для того, чтобы обновить документ, вам понадобиться $set.
- Увеличение индекса документа
db.<collection_name>.updateOne({
<key>: <value>
}, {
$inc: {
<key>: <value>
}
})
С помощью этой команды можно увеличить значение ключа первого документа из выбранной коллекции, соответствующего запросу. Для того, чтобы увеличить значение ключа, вам понадобиться $inc.
- Удаление документа
db.<collection_name>.deleteOne({
<key>: <value>
})
С помощью этой команды можно удалить первый документ из выбранной коллекции, соответствующий запросу.
- Добавление нового поля в документ
db.<collection_name>.updateOne({
<key>: <value>
}, {
$set: {
<new_key>: <new_value>
}
})
С помощью этой команды можно добавить новое поле в первый документ из выбранной коллекции, соответствующий запросу.
- Больше чем
db.<collection_name>.find({
<key>: {
$gt: <value>
}
})
С помощью этой команды можно найти все документы из выбранной коллекции, чьи ключи больше заданного значения.
- Больше или равно
db.<collection_name>.find({
<key>: {
$gte: <value>
}
})
С помощью этой команды можно найти все документы из выбранной коллекции, чьи ключи больше или равны заданному значению.
- Меньше чем
db.<collection_name>.find({
<key>: {
$lt: <value>
}
})
С помощью этой команды можно найти все документы из выбранной коллекции, чьи ключи меньше заданного значения.
- Меньше или равно
db.<collection_name>.find({
<key>: {
$lte: <value>
}
})
С помощью этой команды можно найти все документы из выбранной коллекции, чьи ключи меньше или равны заданному значению.
- Не равно
db.<collection_name>.find({
<key>: {
$ne: <value>
}
})
С помощью этой команды можно найти все документы из выбранной коллекции, чьи ключи не равны заданному значению.
- И
db.<collection_name>.find({
$and: [
{
<key>: <value>
},
{
<key>: <value>
}
]
})
С помощью этой команды можно найти все документы из выбранной коллекции, которые соответствуют запросу.
- Или
db.<collection_name>.find({
$or: [
{
<key>: <value>
},
{
<key>: <value>
}
]
})
С помощью этой команды можно найти все документы из выбранной коллекции, которые соответствуют запросу.
- Сортировка
db.<collection_name>.find().sort({
<key>: <value>
})
С помощью этой команды можно отсортировать по ключу все документы из выбранной коллекции.
- Сортировка по убыванию
db.<collection_name>.find().sort({
<key>: -1
})
С помощью этой команды можно отсортировать по убыванию ключей все документы из выбранной коллекции.
- Удаление коллекции
db.<collection_name>.drop()
С помощью этой команды можно удалить выбранную коллекцию.