Nick
это отличется от того что вы скинули выше
Nick
если бы вы делали обычный find то решением было elemMatch
Nick
вам нужно будет вытащит ьимена и проставить их в соотвевующие from и to?
Никита
Никита
получить name такой, что бы в той штуке language был равен language транзакции
👨🏼💻
откуда транзакции в монге?
yopp
👨🏼💻
из прошлого
ну то что они называют транакциями в версии 4+ имеет пока не много общего с настоящими транзакциями
yopp
yopp
вам скорее всего выгоднее не трансформировать эти данные в монге, если данных не очень много
Никита
yopp
👨🏼💻
Nick
yopp
в чём?
в своём представлении что такое вообще тразакционные гарантии и чем эти гарантии в монге отличаются от других бд
Никита
👨🏼💻
Никита
там не только со станциями играться надо)
Никита
Nick
@dd_bb в у тебя лукапы в плейграунде еще не появились?
Nick
Хорошо, спасибо
можете скинуть на пастебин исходнуй запись, пару записей из названий станций и что вы хотите поулчить в итоге?
Никита
Никита
Nick
Nick
Никита
Nick
забудьте
Nick
делайте в приложухе
Никита
Ок)
Nick
то что нужно чтобы нормально вытащить то что вам нужно нужен 3.6
Nick
а иначе эт извраты с
lookup
unwind
filter
group
два раза первый для from второй для to
Никита
Никита
А group тут зачем?
Nick
чтобы исключить дублирвоания
yopp
3.2.20
планируйте обновление до 3.6 хотяб. 3.2 EOLd и больше не будет обновлятся
Никита
Nick
это вам так кажется)
Никита
yopp
4.0.9 (Apr 16) ◦ 3.6.12 (Apr 8)
• Плейграунд для запросов: https://play.db-ai.co
• Docs: https://docs.mongodb.com/manual/
• Learn MongoDB: https://university.mongodb.com
Stable: 4.0.9 (https://docs.mongodb.com/manual/release-notes/4.0/#apr-16-2019)
Bugfix: 3.6.12 (https://docs.mongodb.com/manual/release-notes/3.6/#april-8-2019)
Legacy: 3.4.20 (https://docs.mongodb.com/manual/release-notes/3.4/#mar-13-2019, EOL June ’19)
End of life: 3.2.21 (Sep ’18), 3.0.15 (Feb ’18)
Nick
по моему опыту они появляются в самый неподходящий момент
Nick
там можно выставить условие и вытащить сразу нужное вам значение
Никита
Nick
потом простой project чтобы развернут ьиз массива
yopp
4.0.9 (Apr 16) ◦ 3.6.12 (Apr 8)
• Плейграунд для запросов: https://play.db-ai.co
• Docs: https://docs.mongodb.com/manual/
• Learn MongoDB: https://university.mongodb.com
Stable: 4.0.9 (https://docs.mongodb.com/manual/release-notes/4.0/#apr-16-2019)
Bugfix: 3.6.12 (https://docs.mongodb.com/manual/release-notes/3.6/#april-8-2019)
Legacy: 3.4.20 (https://docs.mongodb.com/manual/release-notes/3.4/#mar-13-2019, EOL June ’19)
Dev: 4.1.10 (https://groups.google.com/forum/#!topic/mongodb-dev/imsSh4spXEY)
End of life: 3.2.21 (Sep ’18), 3.0.15 (Feb ’18)
Никита
вопрос новый ко всем: как обновить монгу с 3.2 с минимальным временем даунтайма?
Никита
и до 3.6 или 4.0 обновляться?
yopp
и до 3.6 или 4.0 обновляться?
rolling upgrade с 3.2 до 3.4, потом с 3.4 до 3.6 и потом с 3.6 до 4.0
https://docs.mongodb.com/manual/release-notes/3.4/#upgrade-procedures
https://docs.mongodb.com/manual/release-notes/3.6/#upgrade-procedures
https://docs.mongodb.com/manual/release-notes/4.0/#upgrade-procedures
Никита
Alexander
Здравствуйте. Не могли бы объяснить о mongoose в NodeJS?
async function f1() {
let one = await ModelOne.findOne({_id: '5cc1c46ee55cfd28c4f336d9'})
console.log(one.name) // John
await f2(one)
console.log(one.name) // F2
}
async function f2(one) {
one.name = 'F2'
await one.save()
}
Обратите мнимание на console.log. Как так выходит, что я передаю экземпляр документа во вторую функцию, меняю там его, сохраняю, ничего не возвращаю, но в первой функции у этого экземпляра уже измененное значение.
Если я сделаю тоже самое с любой переменной - то уткнусь в область видимости и ничего подобного не выйдет. Скорее всего я чего-то не знаю о NodeJS или о работе Mongoose.
Nick
без группировок, но и без проверок что был найдено совпадение языка
Никита
Никита
Пора говорить начальству, что пора менять версию базы)
yopp
yopp
там внизу есть табличка с поддерживаемыми версиями
yopp
поддрежка вашей версии ещё в сентябре 18 года превратилась в тывку
Artem
Не кто не подскажет что лутчше использовать в качестве ключа для шардирования?
Nick
а какие у вас есть варианты?
Artem
ObjectId
Artem
uuid
Nick
уникальность надо проверять по какимто критериям?
Artem
Шардирование желательно сделать по uid пользователей, а что в качестве uid использовать я не знаю. Желательно и амих пользователей шаридировать. Но в таком случае ObjectId на сколько я понимаю не желательно использовать а по uuid не раскинешь по диапазону, может конечно я в чемто ошибаюсь или не так понимаю
Artem
user_id
Nick
посмотрите на использование hash индексов для шардирования
Nick
и да вам тогда по юзер ид
Artem
а ессть какието hash индекса которые можно отсортировать в зависимости от даты добавления
Artem
Или таких нет
Artem
Тоесть hash индекс которы бы хранил дату
Artem
итп итд