
AstraSerg
02.10.2018
11:53:48

Vova
02.10.2018
11:54:43

AstraSerg
02.10.2018
11:55:43

Пасюк Лошадкин
02.10.2018
11:57:10

Google

yopp
02.10.2018
12:07:50
elemMatch всегда только 1 возвращает
а, да, вам два надо. можно через $filter выражение
aggregate([
{
$addFields: {
strings: {
$filter: {
input: "$strings",
as: "item",
cond: { $in: [ "$$item", ["1", "2"] ] }
}
}
}
}
])
А как их закрывать?
Как в сбербанке: «Где открывали, там и закрывайте» ;)
Изучите документацию к своему драйверу

Пасюк Лошадкин
02.10.2018
12:14:19
К драйверу "хероку")
Боты то там

yopp
02.10.2018
12:15:18
ваши боты вероятно написаны на каком-то языке, этот язык используя какой-то драйвер ходит в монгу

Constantin
02.10.2018
12:30:47
Уменьшилось число коннектов или нет
Перед этим я еще советую проверить авторизацию, все ли с ней хорошо
Какая вероятность того, что вас могли расковырять и прямо сейчас куча плохих ботов что-то делает с вашей базой?

yopp
02.10.2018
12:31:55
в атласе и так авторизация по-умолчанию
не нужно сложных теорий строить, с вероятностью 90% это где-то в приложении проблема
либо в деплое
в зависимости что за тариф на хероку, там может так быть, что несколько контейнеров с приложениями запускаются

Google

AstraSerg
02.10.2018
12:54:34

Banschikov
02.10.2018
13:52:11
да
Подскажите, а как можно посмотреть чему равно это значение в самой монге?

yopp
02.10.2018
14:14:41

Banschikov
02.10.2018
14:14:52

yopp
02.10.2018
14:16:28
mongod --help

Banschikov
02.10.2018
14:16:54

Nick
02.10.2018
14:24:04
@dd_bb подскажи, есть шардирвоанный кластер, count() с условием выдает что на одном из шардов есть доки, на остальных нет. Но find их не видит, ни черег стандартный шел, ни через софтовый драйвер если цеплятсья через mongos. Если прицепитсяь напрямую к репликасету, то там find выдает данные

yopp
02.10.2018
14:24:40
кто-то записал данные мимо mongos?

Nick
02.10.2018
14:24:50
что за хрень может быть и как лечится. версия 3.4.14
нет, только через него

yopp
02.10.2018
14:25:40
проверь что есть чанки которые покрывают такие документы

Nick
02.10.2018
14:25:41
данные записаны на прошлой неделе, для заливки и обработки через стандартны жавадайвер

yopp
02.10.2018
14:26:05
и что чанк указывает на тот шард, на котором на самом деле находятся документы

Nick
02.10.2018
14:26:07
это в конфиг.chunks?

yopp
02.10.2018
14:26:15
да, где-то там
потому что если видно в shard-local и не видно через mongos — значит проблема где-то на уровне карты шарда
проверь что монгосы видят все шарды ещё

Nick
02.10.2018
14:27:49
спасибо за наводку, была первоначальная разбивка на чанки и их миграция скриптом, пока не было данных

yopp
02.10.2018
14:28:26
ну легко могли ошибиться в настройке драйвера, могли что-то нахимичть с чанками

Google

yopp
02.10.2018
14:28:59
может быть с топологией проблемы: не все ноды друг другу видны

Alexey
02.10.2018
14:29:17
Привет, народ.
А расскажите про борьбу с jumbo чанками. Скажем, есть jumbo чанки...есть ли способ посмотреть их размеры?

yopp
02.10.2018
14:30:00
берём чанк с флагом jumbo. берём диапазон ключа этого чанка, делаем find с этим диапазоном и считаем размер bson :)

Alexey
02.10.2018
14:31:41
эм...а как считается размер bson?)
Object.bsonsize?

Constantin
02.10.2018
14:32:24

invzbl3
02.10.2018
14:35:43
The mongodb+srv option will fail if there is no available DNS with records that correspond to the hostname identified in the connection string. In addition, use of the +srv connection string modifier automatically sets the ssl option to true for the connection. You can override this behavior by explicitly setting the ssl option to false with ssl=false in the query string.
https://docs.mongodb.com/manual/reference/connection-string/#dns-seedlist-connection-format
?

Nick
02.10.2018
14:36:31

Alexey
02.10.2018
14:37:01
а вот такой вопрос...Для того, чтобы перенести эти jumbo чанки на другие шарды надо на конфигсерверах поднять chunkSize, в этом случае надо помечать jumbo как "уже не jumbo" или монга сама их пометит при следующей попытке смигрить?

Пасюк Лошадкин
02.10.2018
14:39:41
Выключил ненужных - стало 7 коннектов
Так что всё-таки моя база никому не нужна)
Если у кого-то внезапно возникает такая ошибка, то это, видимо, из-за забитых коннектов

invzbl3
02.10.2018
14:41:55

Пасюк Лошадкин
02.10.2018
14:42:13

invzbl3
02.10.2018
14:42:24

Пасюк Лошадкин
02.10.2018
14:42:32
3.6.1

invzbl3
02.10.2018
14:42:45
3.6.1
у меня тоже, не могу подключиться никак к нему

Google

invzbl3
02.10.2018
14:42:58
кидает исключение
до 3.6 нет +srv и таких проблем не возникало, а тут пишет, что нельзя
3.6.1
Вы кроме того, что прописываете client = pymongo.MongoClient("mongodb+srv://kay:myRealPassword@cluster0.mongodb.net/test")
db = client.test
что-то еще настраивали?

Пасюк Лошадкин
02.10.2018
14:46:06
Нет

invzbl3
02.10.2018
14:46:12
может еще что-то нужно

Пасюк Лошадкин
02.10.2018
14:46:32

invzbl3
02.10.2018
14:46:47
проблема с подключением
пишет, что +srv не должно быть, хотя я использую 3.6.1 драйвер

Пасюк Лошадкин
02.10.2018
14:47:14
А, java
Извини, но тут я бессилен
Знаю питон)

invzbl3
02.10.2018
14:47:55

Пасюк Лошадкин
02.10.2018
14:48:15
Возможно
Могу скинуть весь код подключения своего
Для сравнения

invzbl3
02.10.2018
14:48:26

Пасюк Лошадкин
02.10.2018
14:49:39
client=MongoClient(os.environ['database'])
db=client.mydb
users=db.users
В os.environ лежит ссылка такого вида:
mongodb://egor5q:password@cluster0-shard-00-00-pgt7n.mongodb.net:27017,cluster0-shard-00-01-pgt7n.mongodb.net:27017,cluster0-shard-00-02-pgt7n.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true

Nick
02.10.2018
14:51:06

invzbl3
02.10.2018
14:51:19

Пасюк Лошадкин
02.10.2018
14:51:43

Google

yopp
02.10.2018
14:51:49
искать как так вышло
вероятность заливки данных мимо монгоса повышается

Nick
02.10.2018
14:52:38
а не было с балансером чтонит ьсвязанное что он не домигрировал бы данные?

yopp
02.10.2018
14:53:37
всё может быть, но я ставлю на заливку мимо
потому что балансировка там многоступенчатая
балансер сейчас в каком состоянии?

invzbl3
02.10.2018
14:54:07
то есть я Вас правильно понимаю, Вы используя драйвер 3.6+ прописали подключение старого образца?
client=MongoClient(os.environ['database'])
db=client.mydb
users=db.users
В os.environ лежит ссылка такого вида:
mongodb://egor5q:password@cluster0-shard-00-00-pgt7n.mongodb.net:27017,cluster0-shard-00-01-pgt7n.mongodb.net:27017,cluster0-shard-00-02-pgt7n.mongodb.net:27017/test?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin&retryWrites=true

Nick
02.10.2018
14:54:40

invzbl3
02.10.2018
14:54:51

Nick
02.10.2018
14:55:27

Пасюк Лошадкин
02.10.2018
14:55:46
Но это не столь важно
Попробуй оба варианта, один должен заработать обязательно

invzbl3
02.10.2018
14:56:15

Nick
02.10.2018
14:57:17
действия УПС
допустим даже была лажа, или касячк монги, всетаки старая уже, вопрос как мне починить данные? пока вижу только напрямую цепляться к шардам и оттуда данные тянуть и заново их заливать

Пасюк Лошадкин
02.10.2018
14:57:21

yopp
02.10.2018
14:57:37

Nick
02.10.2018
14:57:45
печальбеда