
Yurii
16.10.2018
11:45:37

yopp
16.10.2018
11:45:40
заведите отдельное поле, пишите туда какойнибудь цифровой код

Maxim
16.10.2018
11:46:02
то есть +1 поля в коллекции с индексом

Google

Maxim
16.10.2018
11:46:08
ок, спасибо, согласен

Oleg
16.10.2018
11:47:35
@yurii_chikhrai что не так?

yopp
16.10.2018
11:48:28

Maxim
16.10.2018
11:48:47

yopp
16.10.2018
11:49:36
зачем?

Maxim
16.10.2018
11:50:08
зачем?
ну что бы однозначно идентифицировать сущность не использую других полей

Yurii
16.10.2018
11:50:39

Maxim
16.10.2018
11:50:46

Oleg
16.10.2018
11:51:17

Yurii
16.10.2018
11:51:46
3.2.19
а работаешь по этой документации, верно?

yopp
16.10.2018
11:51:58

Nick
16.10.2018
11:51:58
@dd_bb обнови в пине версию монги 4.0.3

Oleg
16.10.2018
11:52:06

Google

Maxim
16.10.2018
11:52:08

Yurii
16.10.2018
11:52:24
3.2.19
точнее там нет возможности передать таймзону

yopp
16.10.2018
11:53:20
Stable: 4.0.3 (Oct 9, 2018) Bugfix: 3.6.8 (Sep 19, 2018), Legacy: 3.4.17 (Sep 7, 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.3: https://docs.mongodb.com/manual/release-notes/4.0/#oct-9-2018
3.6.8: https://docs.mongodb.com/manual/release-notes/3.6/#sep-19-2018
3.4.17: https://docs.mongodb.com/manual/release-notes/3.4/#sep-7-2018
End of life: 3.2.21 (Sep 2018 / Sep 2018), 3.0.15 (May 2015 / Feb 2018)

Oleg
16.10.2018
11:53:34
А что может быть плохого, если с 3.2 обновиться до 3.6?

Yurii
16.10.2018
11:54:59

Oleg
16.10.2018
11:55:24

Yurii
16.10.2018
11:56:18
Спасибо, Юра!
https://docs.mongodb.com/manual/release-notes/3.6-upgrade-standalone/ вот, надо featureCompatibilityVersion обновить

yopp
16.10.2018
11:57:09
для серча
в целом, эти все номера — дурацкая затея

Maxim
16.10.2018
11:57:25
бизнес логику я описал выше - вполне адекватная

yopp
16.10.2018
11:57:37
правильно не требовать от пользователя тренировать память :)
не знаю что у вас там за поездки, но обычно самая классическая проблема: сел телефон. скорее всего вместе с подтверждением. а я хочу через телефонную поддержку изменить место откуда меня забрать
вообще, мне кажется что начать стоит с разговоров со службой поддержки, узнав как у них вообще это происходит. если службы поддержки нет, то вообще не тратить на эту фигню время. убедится что пользователей можно искать по имейлу или номеру телефона и что поддержке будут видны поездки

Constantin
16.10.2018
12:00:36

yopp
16.10.2018
12:00:51

Constantin
16.10.2018
12:02:24

yopp
16.10.2018
12:02:45
https://github.com/mongodb/mongo/wiki/Replication-Internals
нет никакого rpc

Google

yopp
16.10.2018
12:02:58
есть дубовый wire protocol
и не очень дубовый мезанизм консенсуса топологии
вам это зачем вообще?
в 99.9% случаев это не стоит читать вообще :)
монга по сути делает mongorestore из соседней ноды, это всё что стоит об этом знать

Maxim
16.10.2018
12:06:12

yopp
16.10.2018
12:06:27
предложите закачику экономить время и деньги

Constantin
16.10.2018
12:18:40

yopp
16.10.2018
12:18:58

Constantin
16.10.2018
12:19:34
репликацию оплога?
Не, внутренней структуры данных. Я почти сделал Raft, но мне не хотелось бы хранить весь журнал, чтобы при подключении нод его на них реплицировать.
Мне стало интересно, как это сделано в MongoDB, но в документации не нашел. Не додумался на Github зайти
Да и в целом интересно, как оно там все внутри работает. Благодаря вам, узнал немного нового.

Gleb
16.10.2018
12:20:59
Подскажите плс по проду для небольшого проекта со средней нагрузкой, нормальная ли практика использовать один инстанс монги с разными БД, или сделать отдельные инстансы на критически важные данные? Архитектура микросервисная, возможности делать технически сложный деплой нет.

Constantin
16.10.2018
12:21:40

Gleb
16.10.2018
12:22:11
это я понял, но не понял что имеется в виду под БД - инстанс монги, или БД?

Mishell
16.10.2018
12:22:55
Здравствуйте. Использую Mongoose. Мне нужно найти все документы с определенным кошельком компании, и изменить его. Я сейчас попробовал вот такую функцию.
await this.updateMany({
company_wallet: wallet_to_change
}, {
company_wallet: company_wallet.toLowerCase(),
$push: {
company_wallets: company_wallet.toLowerCase()
}
}, {
new: true
})
Но кажется updateMany не подходит, он не изменил документы. Какой метод мне следует использовать для массового обновления документов?

Gleb
16.10.2018
12:22:55
сейчас так и есть - на каждый сервис идет отдельный монго контейнер, но не ту мач ли это?

Constantin
16.10.2018
12:23:26

yopp
16.10.2018
12:23:57

Constantin
16.10.2018
12:24:24

Gleb
16.10.2018
12:25:55

Constantin
16.10.2018
12:26:23

Google

yopp
16.10.2018
12:26:55

Constantin
16.10.2018
12:26:59

yopp
16.10.2018
12:27:27
потому что делать свою репликацию, это путь вникуда. оно конечно прикольно, но сделать это надёжным это сотни человеколет
а нафига нужна репликация, которая ненадёжная
либо любую другую подходящую базу или зукипера или что-то ещё, что работает

Constantin
16.10.2018
12:29:19

Nick
16.10.2018
12:29:36

yopp
16.10.2018
12:29:48
синхронизация состояний в распределенных системах это одна из самых сложных технических задач
на уровне токомавка

Gleb
16.10.2018
12:31:56

Constantin
16.10.2018
12:32:19

Nick
16.10.2018
12:32:28

Gleb
16.10.2018
12:32:43

yopp
16.10.2018
12:32:49

Nick
16.10.2018
12:33:31

Constantin
16.10.2018
12:34:02

Gleb
16.10.2018
12:34:12

yopp
16.10.2018
12:34:45

Google

Constantin
16.10.2018
12:34:50

Gleb
16.10.2018
12:37:07

Constantin
16.10.2018
12:39:16
Спасибо, попробую!
Можете в чат к девопсерам сходить @ru_devops и @devops_ru, это скорее задача из их области

Gleb
16.10.2018
12:43:45

Constantin
16.10.2018
12:45:09

Gleb
16.10.2018
12:46:26

Oleg
16.10.2018
12:50:23
db.getCollection('payments').aggregate([
{
"$match": {status: 'paid'}
},
{
"$group": {
"_id": null,
"total": {"$sum": ["$amount", "$credentials.WMI_COMMISSION_AMOUNT"]}
}
}
])
Как вывести общую сумму оплат с вычетом комиссии, которая находится в credentials.WMI_COMMISSION_AMOUNT?
При таком запросе ошибка:
Error:
Assert: command failed: {
"ok" : 0,
"errmsg" : "aggregating group operators are unary ($sum)",
"code" : 15953
} : aggregate failed

Bo0m4ik
16.10.2018
15:08:14
Добрый день! подскажите плз, хочу использовать реплика сет впервые, но не могу определиться с выбором дистрибутива linux
какой лучше всео подойдет?

Maksim
16.10.2018
15:11:26

Bo0m4ik
16.10.2018
15:11:40
хороший ответ

Maksim
16.10.2018
15:11:57
Дебиан убунту центось
Разницы нету

Bo0m4ik
16.10.2018
15:12:17

Maksim
16.10.2018
15:12:36
Убунту проще всего лтс

Bo0m4ik
16.10.2018
15:13:01
ну я думаю 18,04 ставить

Maksim
16.10.2018
15:15:51
Хороший выбор