
Ҫѐҏӗѫӑ
08.09.2016
17:30:47
Вова, это же чат про го

Vladimir
08.09.2016
17:31:08
для го тоже, скорее всего
я так понял, там клиентский протокол подразумевает понимание топологии, общения с зукипером, и прочее
еще говорят, что кафка теряет данные

Google

Vladimir
08.09.2016
17:32:42
и поэтому в основном используется для кейсов, где это допустимо
типа сборки логов, machine learning, etc

Semen
08.09.2016
17:36:01
Народ, а как искать в массиве объектов в монге?
Есть такая схема
var userSchema = new mongoose.Schema({
reffer: String,
utm: String,
role: {
type: String,
required: true,
default: 'USER'
},
created: {
type: Date,
default: Date.now
},
votes: [
{
players: [],
win: String,
created: Date
}
],
socials: [
{
socialType: String,
socialId: String,
email: String,
name: String,
raw: String,
created: Date
}
]
});
А такой поиск не отрабатывает
.find({'socials.socialId': someId})

Николай
08.09.2016
17:38:41
$elemMatch может помочь?
User.find({socials: {$elemMatch: { socialId: someId } } })

Никита
08.09.2016
18:04:16
так, извините
не туда нажал
веб-версия чуть-чуть странная.
Народ, а как искать в массиве объектов в монге?
Есть такая схема
var userSchema = new mongoose.Schema({
reffer: String,
utm: String,
role: {
type: String,
required: true,
default: 'USER'
},
created: {
type: Date,
default: Date.now
},
votes: [
{
players: [],
win: String,
created: Date
}
],
socials: [
{
socialType: String,
socialId: String,
email: String,
name: String,
raw: String,
created: Date
}
]
});
А такой поиск не отрабатывает
.find({'socials.socialId': someId})
https://docs.mongodb.com/manual/reference/operator/query-array/

Semen
08.09.2016
18:06:48
Спасибище вам!

abc
08.09.2016
18:08:38
А rethinkdb кто то юзает как альтернативу монги?
Там язык запросов то намного приятнее и другие плюшки

Vitaly
08.09.2016
18:12:06

Google

Vitaly
08.09.2016
18:12:40
rql шикарен, это да

Vladimir
08.09.2016
18:13:58
все таки монга более проверенная

Vitaly
08.09.2016
18:14:29
проверенно теряет данные, это да )

Vladimir
08.09.2016
18:14:45
да не
это давно было

Vitaly
08.09.2016
18:15:11
все так говорят )

Vladimir
08.09.2016
18:15:11
с тех пор люди разобрались в конфигурации
rethink может также теряет, но никто его не использует особо, поэтому всем все равно

Vitaly
08.09.2016
18:16:27
разница в "может" и "уже теряет"
на самом деле я не противник монги, сам использовал

Vladimir
08.09.2016
18:16:43
да где монга теряет то?

Vitaly
08.09.2016
18:18:00
сейчас незнаю, но инцидент то был

Vladimir
08.09.2016
18:18:21
у тебя или в интернете?

Vitaly
08.09.2016
18:18:45
в интернете

Vladimir
08.09.2016
18:19:45
ну это лишь доказывает, что монгу использует достаточно много людей, чтобы кто то использовал неправильную конфигурацию и потерял данные

Vitaly
08.09.2016
18:20:31
это если предполагать что данные теряли из за неправильной конфигурации

Semen
08.09.2016
18:20:39
а что значит "правильная конфигурация"?

Vladimir
08.09.2016
18:20:54
в основном это значит, что люди не знают, что такое write concern

Николай
08.09.2016
18:21:04
Ну вот вы зря. У нас был проект. Мы дошли до 3,5 ТБ данных на монге
Ух сколько было ухищрений )))

Google

Vitaly
08.09.2016
18:21:50

Vladimir
08.09.2016
18:23:06
я не к тому что монго хорошо, я к тому что лучше хорошо известное говно, чем продукт, у которого красивое апи, риал тайм запросы, а больше о нем ничего не известно

Vitaly
08.09.2016
18:23:41
Да впринципе хрен с ней с монгой, тот же постгрес умеет в nosql
Человек спросил про RethinkDB, и кто не пробовал - обязательно попробуйте, язык запросов там отличнейщий.

Paul
08.09.2016
18:24:02
"Я где-то слышал что монга теряла данные, и что она вообще - говно"
Очень часто слышу эту фразу от знакомых. как религия - опровергать бесполезно, аргументы не слушаются

Vladimir
08.09.2016
18:24:05
да постгрес рулит
и mysql
просто они настолько популярны, что там все известно, куча тулинга, статей

Николай
08.09.2016
18:24:49
А мне кажется что в реляционках nosql это костыль. Ну не могу я принять эти json поля

Vitaly
08.09.2016
18:24:50
никто никуда не рулит, для всего свои иструменты )

Vladimir
08.09.2016
18:25:06
точнее, денормально

Vladimir
08.09.2016
18:25:42
нужно универсальные инструменты тоже

Vitaly
08.09.2016
18:25:54
бесспорно

Vladimir
08.09.2016
18:26:23
например, реляционки можно универсально использовать, монгу, etc
риак, кассандру и прочее - уже не очень

Николай
08.09.2016
18:26:59
где универсальность, там вылазит чтото другое боком: оверхед, скорость или еще чтото

Vladimir
08.09.2016
18:27:25
само собой, в этом и смысл - они нужны, когда не известен скоуп

Николай
08.09.2016
18:27:36
Я за микросервисы и узконаправленные задачи.

Vladimir
08.09.2016
18:28:51
ты же не будешь для каждой микросервиса свою субд выбирать?

Google

Vitaly
08.09.2016
18:29:52
Я буду )
Часто будет совпадать, но буду

Vladimir
08.09.2016
18:30:16
ты будешь, но админить это никто не будет за тебя

Vitaly
08.09.2016
18:30:51
Это вопрос в другой плоскости уже )

Vladimir
08.09.2016
18:31:03
это вопрос объясняет, почему так никто не делает
также как и не пишут каждый сервис на новом языке и т д
даже если и есть профит, то он редко перевешивает трудозатраты

Николай
08.09.2016
18:31:54
Никто об эттом и не говорит, на счет нового
Да ладно, все зависит отпроекта.

Admin
ERROR: S client not available

Vitaly
08.09.2016
18:32:25

Vladimir
08.09.2016
18:32:46
потому что это так и есть
смысл микросервисов - в том чтобы они все были одинаковые
сборка, тестирование, язык, база, и т д
иначе это просто ад

Vitaly
08.09.2016
18:33:41
О да, вы познали силу микросервисов
Вы говорите про девопс, вот я к чему

Vladimir
08.09.2016
18:34:26
я говорю про девопс да

Vitaly
08.09.2016
18:34:36
Все смешалось, кони, люди

Николай
08.09.2016
18:35:06
Мухи с котлетами )

Google

Vitaly
08.09.2016
18:35:39
Ладно, я все же рекомендую взглянуть на rethinkdb. В образовательных целях

Vladimir
08.09.2016
18:35:42
В большой организации вам придется долго объяснять менджменту, зачем вам другая база или другой язык

Николай
08.09.2016
18:36:00
Как раз начинаю. Нужны именно паб/сабы
Для нотификаций

Vitaly
08.09.2016
18:36:28
Язык запросов офигенен!

Николай
08.09.2016
18:37:14
Продано!))))

Vitaly
08.09.2016
18:37:27
)))

Alxander
08.09.2016
18:37:50
Выглядит rethinkdb прикольно. А почему они рекомендуют эту базу брать для collaboration-аппликух?
Почитал доку и не понял. Там CRDT есть или типа того?

Vladimir
08.09.2016
18:38:11

anoru
08.09.2016
18:38:16

Vitaly
08.09.2016
18:38:47

anoru
08.09.2016
18:39:03
В том и дело, что там индексы не спасали

Vitaly
08.09.2016
18:39:45

anoru
08.09.2016
18:41:09
Конкретно каких-то цифр сравнений не видел, но звучало так, что любые фильтрации грузят проц по максимуму. Сейчас может найду в истории. На нашем не особо большем проекте все это не так важно, но все равно мигрировали на постгресс с sequelize (уже не по моей прихоти :D)
rethink не такой збс, если искать много нужно:(
на совсем небольших объемах данных поднимает вообще все, что есть, грузит CPU 100:
например, там больше инфы, но не хочу засорять чатик, так что напиши Никите и разузнай )
банальная выборка с джойном и 2-3 условиями фильтрации на 1к записей может спокойно вызвать 100к ридов внутри базы
Жесть
А сам канал коммуникации с клиентским приложением?