yopp
yopp
про $$this
yopp
про сравнение элементов, то скорее всего ещё один reduce по readBy, в котором ставить true в $$value если элемент совпал с искомым
Serhii
@dd_bb thx
yopp
Lev
yopp
зачем вам транзакции
yopp
у вас есть два варианта: либо кешировать информацию о потомках в родительском объекте либо каждый раз вычислять есть ли у объекта потомки. других вариантов нет
yopp
Артем
Версия 3.6.3 на убунте, на маке 4.0.3 . Видимо это ответ на вопрос)
yopp
За одно и версию монги. Вам нужна 4.0.x
yopp
А, похоже ошибка уже из монги. Если 3.6.3 версия монги, то да, это ответ на ваш вопрос :)
Артем
Все работает, спасибо
Denys
Здравствуйте. С монго нет опыта. Помогите решить вопрос, у меня есть таблица со зданиями, внутри схема с этажами, внутри этажей есть комнаты. Задача найти здание со свободной комнатой. Мне нужно комнаты вынести отдельно и тогда делать популяцию с резервами и делать запросы какая из комнат не имеет резервов или как? Можете помочь...
Никита
Denys
хороший вопрос... вот начинаю понимать что мне нужна таблица с какими то в стиле Доступных и там уже манипулировать с датами и комнатами правильно?
Artem
Зачем вообще монгу для такой задачи использовать?
Denys
есть коллекция резервация у меня сейчас
Denys
исторически так сложилось есть монго... а как тогда?
Denys
я работал только с реляционными бд по этому с монго много вопросов и не пониманий...
Никита
Никита
такая структура?
Denys
да
Denys
и есть коллекция reservations [{roomID, date}]
Никита
getCollection('buildings').find({floors.rooms.free: true})
Denys
так у меня же завязка на дату а резервации в коллекции резерваций
Denys
может мне структуру нужно поменять? и сделать как то в более монго стиле, но у меня нет пока идей...
Никита
Denys
7 этажей по 30-40 комнат
Никита
вроде как 240 вложенных элементов - ещё не тяжело для монги
у меня на ненастроенной базе проблемы с перформансом начались на 10-15 тысячах элементов в массиве где-то)
Denys
в общем вопрос на определенную дату найти комнату которой нет в резервации на эту дату, как такое можно сдлетать с монго?
Никита
если никто до дедлайна не предложит лучше идею, то вот дока:
https://docs.mongodb.com/manual/reference/operator/aggregation-pipeline/
Denys
благодарю
Никита
если кратко изложить суть: через unwind дважды разложить массив, после чего отфильтровать результаты по наличию сущности резервации (в другой коллекции)
Никита
тогда бы монга сама убирала эту штуку из документа по истечению срока резервации
Denys
хм. интересно благодарю очень!
yopp
в общем вопрос на определенную дату найти комнату которой нет в резервации на эту дату, как такое можно сдлетать с монго?
не очень важно монга у вас или нет, тут важно в принципе понимать алгоритм управления ресурсами
самый простой вариант разделить большую проблему на две проблемы: список ресурсов и использование ресурсов во времени
тогда задача найти свободный ресурс в какой-то временной точке будет сводиться к тому, чтоб найти разность двух множества: всех ресурсов и ресурсов занятых на искомый момент
это можно решить двумя коллекциями, в одной хранить по одному документу на конкретную комнату, во второй как выше предложили хранить список «резерваций», с датами начала и конца использования.
дальше делаете выборку по списоку резерваций, чтоб получить айдишники занятых комнат. делаете выборку по списку комнат, или сразу отбрасывая через $nin список занятых или отбрасывая уже на клиенте
Ярослав
setInterval(async () => {
let users = User.find({ ban: false });
for(let i=0; i<users.length; i+=1){
if(users[i].biz.id != 0){
users[i].biz.zarp += users[i].biz.peop * config.peop
await users[i].save()
}
}
}, 5000);
Почему не сохраняется? Ошибки в консоль не какой не выдает
Daniil
await на второй строке забыл
Ярослав
Не понял, после let?
Ярослав
Спасибо!) Я хз, зачем убрал, типо до этого тестил не работало)
Max
Всем привет! А подскажите пожалуйста, MongoDB Charts on-premises платный или как? Меня смущает это предложение
Max
Владимир Т
увы просто с параметром —archive дамп весит много и не влез на диск
2019-07-17T02:29:56.243+0600 restoring users from /u01/backup/16.07.2019/admin/system.users.bson.gz
2019-07-17T02:29:56.425+0600 replaying oplog
2019-07-17T02:29:56.431+0600 Failed: restore error: error applying oplog: applyOps: not authorized on admin to execute command { applyOps: [ { ts: Timestamp(156321 v: 2, op: "u", ns: "config.system.sessions", o: { $v: 1, $set: { lastUse: new Date(1563217233633) } }, o2: { _id: { id: UUID("be22c554-817f-4657-b34f-b364ea239ad2"),, AEEDFD6C113127BF1AF7E0A3B75CBD4CB4A7F4C9D55F312BAF31096591C15335) } } } ], $db: "admin" }
Владимир Т
вот я получаю ошибку при восстановлении, хотя у юзера рут права
yopp
Max
yopp
Владимир Т
По всей видимости нет
создам роль db.createRole( { role: "executeFunctions", privileges: [ { resource: { anyResource: true }, actions: [ "anyAction" ] } ], roles: [] } ) и дам права db.grantRolesToUser("root", [ { role: "executeFunctions", db: "admin" } ])
Владимир Т
это я в мануале вычитал для восстановления oplog
yopp
Владимир Т
Simak
Доброго времени суток. Ребят, подскажите, на какие вы значение орентируетесь в первую очередь в wiredtiger, что бы понять что выделенного кеша достаточно?
yopp
Simak
Для решения какой проблемы вы используете настройки не по-умолчанию?
1. Потому что происходит переезд с физической тачки на LXC. Это страх перед ООМ. 2 мне не очень нужно грузить всю базу в wiredtiger cache, потому что хотелось бы сделать хороший баланс, загрузить в cache linux пожатую базу. 3. В связи с пееездном хотелось бы урезать ресурсы, потому что сейчас их достаточно много. И хотелось бы не промахнуться.
yopp
2 провальная идея
yopp
3 вероятнее всего тоже
Simak
Что во втором провального?
yopp
В том что в этом нет никакого особого смысла
yopp
Какую проблему вы решаете?
Simak
Это не проблемы. Так работает монга, она льет свою жатую базу в линукс кешь
yopp
Я отлично осведомлён. Я не прошу лекцию, я спрашиваю причину которая вас заставляет это делать
Simak
Мне нужно урезать ресурсы
yopp
Зачем?
Simak
Экономия)
yopp
Переезжайте на Atlas
yopp
Если у вас меньше пары сотен гигов данных, то оно скорее всего дешевле чем in-house, тупо по трудозатратам.
Anonymous
Щас Магомед стряхнет пыль с красных макасин и отожмет у кого нить оперативку и пару ssd
Hallo
Hallo
Пугать людей так не стоит.
Anonymous
ну так непуганные люди и не пугаются , а пуганные просто будут на стороже
Anonymous
всем снов )
no-reply@
Farik
Привет всем, возник такой вот вопрос запустил я значит монго но я не могу зайти на 127.0.0.1:27017 (при этом в открыл доступ по этому порту) т.е. я не могу работать с базой, для этого я разварачиваю nod'e и при помощи mongoose я могу обратиться к бд
Farik
Мне всегда надо будет запускать монго потом подымать сервер что-бы взаимодействовать с бд?
Мечтатель