
AstraSerg
06.08.2018
13:33:39

Vasiliy
06.08.2018
13:34:39
ну да) дата создания же)

AstraSerg
06.08.2018
13:35:33

Vasiliy
06.08.2018
13:35:51
ну не, мне с секунадми надо

Google

Vasiliy
06.08.2018
13:35:59
но в теории да

AstraSerg
06.08.2018
13:36:19
ща ссыль найду...

Vasiliy
06.08.2018
13:37:51
как то грустно это, хотелось отфильтровать последнюю запись по конкретной сущности, но чёт с сортом медленно

AstraSerg
06.08.2018
13:41:03

Vasiliy
06.08.2018
13:45:22
доли секунды без индекса
я так понимаю без него в какой-то момент данные смогут не влезть в память и запрос упадёт с ошибкой
о чё помогло
добавил стейдж с проджектионом в начало пайплайна
чтобы лишние поля убрать(там логи с консоли в base64 сохраняются)
и доли секунды вместе с сортом

AstraSerg
06.08.2018
14:02:12

Vasiliy
06.08.2018
14:02:49
А то я уж было подумал что стату пользователь по полминуты ждать будет

Google

AstraSerg
06.08.2018
14:02:54
> (там логи с консоли в base64 сохраняются)
наверно размер большой?

Vasiliy
06.08.2018
14:04:01
Там строки 24 с терминала в base64

AstraSerg
06.08.2018
14:05:26

Vasiliy
06.08.2018
14:06:33
а проекции памяти не жрут? на что вообще с монгой обращать внимания чтобы ВНЕЗАПНО не обнаружить что памяти пизда?

AstraSerg
06.08.2018
14:07:11
вот вроде не плохая статья, почитайте: https://mixmax.com/blog/improving-mongo-performance-by-managing-indexes

Vasiliy
06.08.2018
14:09:22
спасибо за помощь

AstraSerg
06.08.2018
14:09:46
Да не за что :)
Всё ни как не найду подходящего описания индексирования

Vasiliy
06.08.2018
15:20:45

AstraSerg
06.08.2018
15:24:51

Vasiliy
06.08.2018
15:28:42
https://docs.mongodb.com/manual/reference/operator/aggregation/sort/#sort-operator-and-performance
> If $project, $unwind, or $group occur prior to the $sort operation, $sort cannot use any indexes.

AstraSerg
06.08.2018
15:31:03

Artem
06.08.2018
20:17:51
Всем привет! Хочу сделать автобекапы с помощью крона на дебиан, но крон не запускает команды, кто знает почему может быть такое?
* * * * * mongodump --out /data/mongobackups/`date +"%m-%d-%y"`
3 1 * * * find /data/mongobackups/ -mtime +7 -exec rm -rf {} \;

Artem
06.08.2018
20:40:49
полный путь к монгодамп укажи

Artem
06.08.2018
20:47:39
результата нет

Google

Artem
06.08.2018
20:48:16
which mongodump

Artem
06.08.2018
20:48:59
/usr/bin/mongodump

Artem
06.08.2018
20:49:32
что в логах ?
/var/log/syslog

Artem
06.08.2018
20:50:07
root@dedicated:~# service cron status
● cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled)
Active: active (running) since Mon 2018-08-06 01:04:55 EEST; 22h ago
Docs: man:cron(8)
Main PID: 488 (cron)
CGroup: /system.slice/cron.service
└─488 /usr/sbin/cron -f
Aug 06 23:49:01 dedicated CRON[2911]: pam_unix(cron:session): session opened for user root by (uid=0)
Aug 06 23:49:01 dedicated CRON[2912]: (root) CMD (/usr/bin/mongodump --out /data/mongobackups/`date +")
/var/log/syslog
Aug 6 23:49:47 dedicated kernel: [81893.117646] [UFW BLOCK] IN=eth0 OUT= MAC=ee:fe:79:fd:cd:41:88:62:7b:fd:be:90:08:00 SRC=178.20.136.84 DST=178.20.156.153 LEN=40 TOS=0x00 PREC=0x00 TTL=240 ID=61420 DF PROTO=TCP SPT=47826 DPT=7547 WINDOW=14600 RES=0x00 SYN URGP=0
Aug 6 23:50:01 dedicated CRON[2969]: (root) CMD (/usr/bin/mongodump --out /data/mongobackups/`date +")


Artem
06.08.2018
20:56:07
mongodump --out /data/mongobackups/date +"%m-%d-%y" 2> /var/log/mongo.log

Artem
06.08.2018
20:59:54
mongodump --out /data/mongobackups/date +"%m-%d-%y" 2> /var/log/mongo.log
Aug 6 23:59:01 dedicated CRON[3410]: (root) CMD (/usr/bin/mongodump --out /data/mongobackups/`date +")
Aug 6 23:59:07 dedicated kernel: [82453.303231] [UFW BLOCK] IN=eth0 OUT= MAC=ee:fe:79:fd:cd:41:88:62:7b:fd:be:90:08:00 SRC=95.209.133.119 DST=178.20.156.153 LEN=44 TOS=0x08 PREC=0x20 TTL=52 ID=36535 PROTO=TCP SPT=1732 DPT=8001 WINDOW=56642 RES=0x00 SYN URGP=0
с самой командой mongodump --out /data/mongobackups/`date +"%m-%d-%y"` всё норм

AstraSerg
07.08.2018
05:10:05
@verbat В кроне нужно указать имя пользователя, от которого будет выполняться команда. То есть нужно:
* * * * * root mongodump ...
если это крон из /etc а не пользовательский. Второе, вам нужно экранировать знаки % По дефолту они конвертируются в перевод строки

Anton
07.08.2018
09:47:36
Здравствуйте, не могу разобраться, как в mongoose 5.2.6 откатить транзакцию?
В документации этот момент как-то обошли

Anatoliy Skuratov
07.08.2018
10:06:24

Anton
07.08.2018
10:08:24
А на не реплике базы использовать вообще нельзя? Из-за чего вообще такое ограничение?

yopp
07.08.2018
11:44:49

Anton
07.08.2018
11:45:22
реплику пропустили

yopp
07.08.2018
11:46:02
Окей, но всё ещё не понятно что вы имеете ввиду :)

Anton
07.08.2018
11:47:03
"Multi-document transactions are available for replica sets only." А у меня одна база. без реплик
О репликах буду думать когда что-то начнёт работать

Google

yopp
07.08.2018
11:49:27
Архитектурное ограничение.

AstraSerg
07.08.2018
11:50:10

Anton
07.08.2018
11:51:48
Чтобы строить базис надо в этом разбираться хорошо. А заказчику затраты на базис несколько не понятны, ему побыстрее надо MVP

yopp
07.08.2018
11:55:09
https://youtu.be/mUbM29tB6d8
Если интересно откуда это ограничение возникает
У вас есть несколько вариантов:
1) пересмотреть архитектуру, убрав необходимость в транзакциях. Это возможно гораздо чаще чем кажется
2) Посчитать операционные ресурсы. На первых этапах, особенно если вы делаете MVP, DBaaS будут существенно дешевле и гибче, нежели in-house содержание. Репликация нужна не только для транзакций, но и для сокращения времени простоя и снижения вероятности фатальной потери данных.
3) Выбрать другую СУБД

Mitya
07.08.2018
12:04:49
Привет
Помогите плиз с проблемкой разобраться: https://toster.ru/q/552594

AstraSerg
07.08.2018
12:22:54

Mitya
07.08.2018
12:24:02

AstraSerg
07.08.2018
12:25:09
похоже у вас newOrders.item - undefined

Mitya
07.08.2018
12:25:21
попробовал просто вывести через printjson
json выводит, но ошибка всё равно есть

AstraSerg
07.08.2018
12:26:40
а во всех документах коллекции orders есть поле item? если нет, то будет undefined

Mitya
07.08.2018
12:27:08
не во всех
то есть если в item будет null, то будет ошибка, верно?

AstraSerg
07.08.2018
12:27:34
не во всех
Вот оно и спотыкается на документах, где нет

Mitya
07.08.2018
12:27:41
понял
спасибо большое

AstraSerg
07.08.2018
12:27:57

Mitya
07.08.2018
12:28:03
:)

Google

Mitya
07.08.2018
13:49:21
и еще вопрос:
пытаюсь поставить индексы на нужных полях db.Ways.ensureIndex({nds: {reference: 1}})
но выкидывает ошибку:
{
"ok" : 0,
"errmsg" : "Values in v:2 index key pattern cannot be of type object. Only numbers > 0, numbers < 0, and strings are allowed.",
"code" : 67,
"codeName" : "CannotCreateIndex"
}
что не так может быть?
в гугле нашел подобные кейсы https://stackoverflow.com/questions/31772759/getting-bad-index-key-pattern-error-using-mongodb
но это всё не то

yopp
07.08.2018
13:51:06

Mitya
07.08.2018
13:53:06
используйте dot notation nds.reference
сработало, спасибо!
где вообще можно почтить про то в каких местах нужно использовать одну нотацию, а в каких другую? или это созидается только курением доки?

yopp
07.08.2018
13:54:36
лучше всегда стараться использовать dot notation, если вы не оперируете хешами целиком
foo.bar: 1 != foo: {bar: 1}

Mitya
07.08.2018
13:55:29
хм
понял
спасибо еще раз

AstraSerg
07.08.2018
13:57:55


yopp
07.08.2018
13:59:52
Stable: 4.0.1 (Aug 6, 2018) Bugfix: 3.6.6 (Jul 10, 2018), Legacy: 3.4.16 (Jul 10, 2018)
MongoDB quick overview/production notes: https://www.percona.com/live/e17/sites/default/files/slides/Running%20MongoDB%20in%20Production%20-%20FileId%20-%20115299.pdf
4.0.1: https://docs.mongodb.com/manual/release-notes/4.0/#aug-6-2018
3.6.6: https://docs.mongodb.com/manual/release-notes/3.6/#jul-10-2018
3.4.16: https://docs.mongodb.com/manual/release-notes/3.4/#jul-10-2018
3.2.20: https://docs.mongodb.com/manual/release-notes/3.2/#may-10-2018 (End of life: September 2018)
3.0.x: Support ended February 2018

Mitya
07.08.2018
14:00:11

Alan
07.08.2018
14:00:33

AstraSerg
07.08.2018
14:02:41