Mongo основы. Команды



Mongo - основные команды.


Указываем одно из полей - ключевым.
db.names.ensureIndex({name:1},{unique: true})

Вставка записи в коллекцию


db.getCollection('users').insert({
id : 69056,
info :[{
name : "Ребята и зверята",
slug : "rebyata-i-zveryata",
pages : 33,
lang : "russian",
date_publ : ISODate("2010-09-24")
}],
picture : "kniga-king-lyusi-lyubovnaya-svyaz-napokaz.jpg",
genre : [
{name : "Взрослая", id : 34, slug : "vzroslaya"},
{name : "Литература", id : 33, slug : "literatura"}
],
author : [{name : "Перовская Ольга Васильевна", slug : "perovskaya-olga-vasilevna", code: 22362}],
date_add : ISODate("2010-09-24"),
small_prev : "Желая урезонить своих бывших одноклассниц. Зоя Монтгомери представила им в качестве своего бойфренда успешного бизнесмена и красавца Дана Форрестера. Ей удалось уговорить его побыть ее другом всего лишь на один вечер. Спектакль удался на славу, но после него заговорщики расстались. Впрочем, уже на следующий день Зоя решила предложить Дану сексуальное партнерство, на что он ей сообщил, что встречается с одной женщиной не более трех раз. Однако почему-то трех свиданий с Зоей Дану не хватило, и он предложил ей новое соглашение...",
reitings : [{plus : 172, minus: 23}],
viewed : 5,
blocked : 0,
tags : ["books", "детская литература"],
comments : [
{name : "Andrey", user_id : 2, date_add : ISODate("2010-09-24"), text : "Отлдичная книга"},
{name : "Sergey", user_id : 0, date_add : ISODate("2010-09-24"), text : "Всегда хотел ее прочитать"}
]
})

Всю информацию из коллекции можно удалить вот так:
db.users.remove();

Удалить объект по какому то параметру можно так:
db.users.remove( { “name” : “Vasya” } );

Update


Если мы хотим выполнить инкремент какого то поля, то используем модификатор $inc. Чтоб увеличить возраст на 2 года делаем так:
db.users.update( { name: “joe” } , { $inc : { age: 2 } } );

Если нужно установить значение какого то ключа используем модификатор $set
db.users.update( { name:”joe” } , { $set: { age: 25 } } );

Он находит документ, где имя joe и устанавливает age в 25. Важно, что если ключа age нет, то он будет создан.
Если нужно удалить ключ существует модификатор $unset
db.users.update( { name: ”joe” } , { $unset: { age : 1 } } );

Экспорт выбранных полей в CSV


malta1994:~# mongoexport -u admin -p pass --authenticationDatabase "admin" -d database -c collection -f id --type=csv > /tmp/mongo_txt.csv

Find - поиск


db.getCollection('books').find({'info.slug': /.&./})

Ищет большие и маленькие буквы
db.books.find({ name: { $regex: /любимая/i }},{id:1, name:1}).limit(5)

Полнотекстовый поиск с сортировкой


db.books.find({$text: {$search: "иванов петров"}}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}})

 

Сортировка


db.books.find({}).sort( { viewed: -1 } )

'-1' - по убыванию

'1' - по возрастанию

Определенное кол-во записей (limit)


db.books.find({}).limit(2)

Вывести определенные поля


db.books.find({}, { name: 1, slug: 1, subgenres: 1, viewed: 1, _id:0, "info.picture": 1}).sort( { viewed: -1 } ).limit(2)

Выводим такие поля как: name, slug, subgenres, viewed

Replace


 db.getCollection('books').find({'info.slug':/. ./}).forEach(function(test){
test.info.slug = test.info.slug.replace(" ","-");
db.getCollection('books').save(test);
});

Основные команды поиска:

https://habrahabr.ru/post/139643/

Полнотекстовый поиск:
db.getCollection('authors').find({$text: {$search: "Иванов"}}, {score: {$meta: "textScore"}}).sort({score:{$meta:"textScore"}})

http://code.tutsplus.com/tutorials/full-text-search-in-mongodb--cms-24835

Редномная выборка
db.getCollection('vk_projects').find({}).limit(-1).skip(Math.random() * db.getCollection('vk_projects').count())

Поиск и вывод массива

https://docs.mongodb.com/manual/reference/operator/projection/elemMatch/
db.getCollection('vk_posts_2').aggregate(
{$match: {public_url: "https://new.vk.com/nowhello"}},
{$unwind: "$posts"},
{$match: {"posts.posted": 1}}
)

 
868   1  

Comments

  1. Priska
    Priska 5 лет назад
    Great content! Super high-quality! Keep it up! We can also know more about mongodb from here
    https://www.etutorialspoint.com/index.php/mongodb/mongodb-introduction