MongoDBCS

SQL to MongoDB Mapping Chart

show dbs — показать список баз
use [DATA_BASE_NAME] — создание,переключение баз данных
db.getName() или просто db — узнать имя базы которая используется сейчас
show collections — показать список коллекций в базе
db.[COLLECTION].drop() — удалить коллекцию
db.dropDatabase() — удаление базы данных

ObjectID

ObjectID
Рассмотрим пример такой последовательности 5b4edf36bd575d1b29145aaf, она состоит из:
4 bytes 5b4edf36 — timestamp, кол-во секунд с полуночи (00:00:00 UTC) 1 января 1970 года (см. Unix Epoch)
3 bytes bd575d — mid идентификатор машины
2 bytes 1b29 — pid идентификаатор процесса
3 bytes 145aaf — просто счетчик, перое число выбирается случайно

C — create

insert()
db.[COLLECTION].insert({FIELD:VALUE,FIELD:VALUE,FIELD:VALUE...}) — добавить документ

R — read

find()
db.[COLLECTION_NAME].find() — показать все записи в коллекции
db.[COLLECTION_NAME].find().pretty() — показать все записи в коллекции, как json документ
db.[COLLECTION_NAME].find().count() — получит кол-во найденых документов в коллекции по заданному селектору
db.[COLLECTION_NAME].find().limit([LIMIT_NUM]) — ограничить вывод результата на экран
db.[COLLECTION_NAME].find({selector1,selector2,...},{fields}) — выборка/поиск данных по селектору/селекторам и полям фильтрации
db.[COLLECTION_NAME].find({[FIELD_NAME]: {[QUERY] : [VALUE]}}) — общий вид команды с использованием операторов сравнения $lt,$gt,$lte,$gte
db.[COLLECTION_NAME].find({[QUERY]:[{[FIELD_NAME]:[VALUE]},{[FIELD_NAME]:[VALUE]}...]}) — общий вид команды с использованием логических операторов $or,$and,$nor,$not
db.[COLLECTION_NAME].find({[FIELD]: {$regex:/[REGEX]/,$options: ''}}) общий вид команды с использованием $regex
db.[COLLECTION_NAME].find({[FIELD]: /[PATTERN]/<options>}) общий вид команды без использования $regex
db.[COLLECTION_NAME].find({[FIELD]: {$exist:true/false}}) поиск докумантов с определенным полем или без ($exist)
db.[COLLECTION_NAME].find({[FIELD]: {$type:[TYPE]}}) поиск докумантов с данными определенного типа ($type)
db.[COLLECTION_NAME].find({[FIELD]:{$in:[SUB_ARRAY]}}) соответсвие хотябы одному эл-у массива ($in)
db.[COLLECTION_NAME].find({[FIELD]:{$all:[SUB_ARRAY]}}) соответсвие всем эл-ам массива ($all)
db.[COLLECTION_NAME].find({[FIELD]:{$nin:[SUB_ARRAY]}}) соответсвие ни одному эл-у массива ($nin)

U — update

update()

db.[COLLECTION].update({selector},{update},{options})
метод update принимает три аргумента:
1. селектор по которому будет осущетвлен поиск документов
2. параметры обновления
3. доп. флаги upsert,multi,writeConcern,collation,arrayFilters

db.[COLLECTION].update({selector},{[FIELD]:[VALUE],[FIELD]:[VALUE]...},{options}) — обновить весь документ
db.[COLLECTION].update({selector},{[FIELD]:[VALUE],[FIELD]:[VALUE]...},{upsert:true}) — создать документ если ни одного документа не найдено по селектору
db.[COLLECTION].update({selector},{$set:{[FIELD]:[VALUE]}}) — изменить/добавить поле ($set)
db.[COLLECTION].update({selector},{$unset:{[FIELD]:""}}) — удалить поле ($unset)
db.[COLLECTION].update({selector},{$inc:{[FIELD]:[VALUE]}}) — инкремент/декремент на указанное значение поля ($inc)
db.[COLLECTION].update({selector},{$rename:{[FIELD]:[NEWFIELD]}}) — переименование поля ($rename)
db.[COLLECTION].update({selector},{$set:{[FIELD]:[VALUE]}},{multi:true}) — изменить/добавить поля нескольких документов
db.[COLLECTION].update({selector},{$set:{[FIELD.INDEX]:[VALUE]}}) — изменить значение поля в массиве по индексу
db.[COLLECTION].update({selector},{$push:{[FIELD]:[VALUE]}}) добавить эл-нт в конец массива без проверки существования ($push)
db.[COLLECTION].update({selector},{$addToSet:{[FIELD]:[VALUE]}}) добавить эл-нт в конец массива с проверкой существования ($addToSet)
db.[COLLECTION].update({selector},{$push:{[FIELD]:{$each:[SUB_ARRAY]}}}) — добавть сразу несколько эл-ов в массив, с использование модификатора $each
db.[COLLECTION].update({selector},{$pull:{[FIELD]:[VALUE]}}) удалить определенный эл-нт из массива ($pull)
db.[COLLECTION].update({selector},{$pullAll:{FIELD]:[VALUE1,VALUE2,VALUE3...]}}) удалить несколько эл-нов из массива ($pullAll)
db.[COLLECTION].update({selector},{$pop:{[FIELD]:1/-1}}) удалить первый или последний эл-нт / value -1 или 1 ($pop)

D — delete

remove()
db.[COLLECTION].remove({selector}) — удалить документ

Cheat Sheet