Eshu
вот и я об том. монга как редис - дай ей памяти, ух крута будет!
в итоге я пришёл к связке тарантул + постгрес
Sergiy
когда списком если наигратесь - тогда и определяйтесь
Sergiy
а если монгой никогда не пользовались, но если хотите попробовать - то ответ единственный - конечно берите монгу
Eshu
Вообще, определитесь, что вы будете делать с базой: если какать туда слабо структурированной информацией и читать конкретные документы id которых известны - берите монгу, она оптимальна для такой задачи. Если планируется со временем исполнение сложных запросов на строне базы - берите постгрес. Что на мой вкус особенно ценно - он как монга умеет работать с json-ами нативно, но сохраняет все плюшки реляционки.
Sergiy
— берут монго потому что он нативно дает json формат, что удобно. не потому. реляционки уже тоже обзавелись поддержкой json а берут потому что не надо на старте думать много о схеме запросы, их принципы понятны js программисту, не надо вникать в SQL (от которого ORM спасает только вначале)
Anonymous
Ребят, как вы думаете, почему нельзя хранить пароли в базе в открытом виде, если всё остальное хранится в открытом виде?
Sergiy
— так как я не имею большого опыта то есть - не попробовали сделайте полноценный проект.
Sergiy
пройтись по доке, учебнику, сделать демо примеры - это только изучить
Sergiy
а попробовать - это сделать что-то реальное, или приближенное к реальности
Sergiy
риски - чего?
Sergiy
при чем тут - seo например? слона надо есть - по маленьким частям
Sergiy
а если, да если, плюс еще если - то так можно до бесконечности
Sergiy
"оценивать риски"
Sergiy
сужайте задачу. конкретизируйте требования к реализации. и т.п. но если хочется монги - то что оценивать? берете монгу, и все. потому что хочется
Sergiy
тогда не берите
Sergiy
делов то
Sergiy
раз требование - обосновать выбор а вы не можете - то не берите то, выбор чего вы обосновать - не можете
Sergiy
вряди ли обоснование - а мне в телеграме так сказали - будет приличным обоснованием
Sergiy
а может и не быть
Sergiy
и?
Sergiy
масштабируемость - требование? в цифрах пожалуйста, какая нужна?
Anonymous
Ребят, где можно почитать про горизонтальное масштабирование MongoDB?
Vladimir
Привет, есть ли возможность обновлять документы списком например: парсится хмл, создается список объектов, далее одним подключением к дб, обновить все доки?
Vladimir
updateMany()
Пилять че я не могу понять как оно работает то((( Спасибо мил человек
Vladimir
updateMany()
А что-то выдает этот метод если такого дока нет?
Joe
А что-то выдает этот метод если такого дока нет?
Там 2 варианта Либо указываешь чтобы вставил новый если нет, либо он пишет что не обновил т.к. не нашел. Эксепшн не кидает
MDWIT
Ребята, подскажите как в mongose задать allowDiskUse: true для findOne? Упираюсь в QueryExceededMemoryLimitNoDiskUseAllowed Вопрос исчерпан, не в тот запрос указывал его)
Vladimir
Помогите пожалуйста создать фильтр для UpdateMany c# драйвер. есть List строковых полей по которым нужно искать документы, которые нужно обновить. как написать фильтр ?
R-lion
Всем привет, я хочу в поиск вставить регулярку $regex в место $search. Но код не работает
Nick
Всем привет, я хочу в поиск вставить регулярку $regex в место $search. Но код не работает
Вместо $text укажите поле https://docs.mongodb.com/manual/reference/operator/query/regex/
R-lion
у меня поиск по имени и по фамилии они в разных свойствах находятся а поле ввода один input
Vladimir
Метод отрабатывает, но изменения не вносятся что здесь не так?
Alexander
Метод отрабатывает, но изменения не вносятся что здесь не так?
ну так может у вас matched/modifiedCount == 0 пс вопрос из разряда «доставайте магический шар»
Vladimir
ну так может у вас matched/modifiedCount == 0 пс вопрос из разряда «доставайте магический шар»
т.е. я правильно понимаю что update и filter вопросов не вызывают ?
Alexander
т.е. я правильно понимаю что update и filter вопросов не вызывают ?
не вызывают лишь потому то хз на чем вы пишите и что оно значит)
Vladimir
с# вроде как, UpdateMany пытаюсь заставить работать
Vladimir
не вызывают лишь потому то хз на чем вы пишите и что оно значит)
какой именно информации не хватает ? логика простая, на входе Массив (список) обектов (документов) поля которых надо обновить используя метод UpdateManyAsync
Anonymous
привет
Anonymous
City.findOneAndUpdate({ city: organization.city },{city: organization.city},{new: true, upsert: true, rawResult: true}, (err: unknown, resultCity: Document) => { if (err) return console.log(err); console.log(resultCity); if (!resultCity) { resultCity = new City({ _id: new mongoose.Types.ObjectId(), city: organization.city }); } resultCity.save(err => { if (err) return console.log(err); organization.addresses.forEach(async (address) => { Address.findOneAndUpdate({ address: address.address }, async (err: unknown, resultAddress: Document) => { if (err) return console.log(err); if (!resultAddress) { resultAddress = new Address({ city: resultCity._id, isActive: address.isActive, organizationId: address.organizationId, phone: address.phone, address: address.address }); } const resultOfAddress = await resultAddress.save(); if (resultOfAddress.errors) { return console.log(resultOfAddress.errors); } }) ——————————————————————————————— TypeError: resultCity.save is not a function
Anonymous
почему он мне выкидывает ошибку
Anonymous
все я понял
Nick
все я понял
что было?
Anonymous
у resultCity нет метода save) он только объект возращает, который изменил
Anonymous
вот такой
Nick
т.е. он не мапит в модель City?
Anonymous
вотс мин мапит? типо инсерт?
Nick
каст к классу
Nick
возможно resultCity.value содержит полноценный City объект
Nick
rawResult: true
Nick
уберите
Anonymous
а кстате да)
Anonymous
в value
Anonymous
типизировать придется, у него там unknown
Anonymous
ну это наверное и прравильно, спасибо
Nick
типизировать придется, у него там unknown
https://mongoosejs.com/docs/tutorials/findoneandupdate.html раздел The rawResult Option
Anonymous
скорее всего мне нужна эта опция
Anonymous
https://mongoosejs.com/docs/tutorials/findoneandupdate.html раздел The rawResult Option
const resultCity = (await City.findOneAndUpdate( { city: organization.city }, {city: organization.city}, {new: true, upsert: true} ) as Document); resultCity.save(); organization.addresses.forEach(async ({organizationId,address,isActive,phone})=>{ const resultAddress = await Address.findOneAndUpdate( {address: address}, {organizationId,address,isActive,phone,city: resultCity._id}, {new: true, upsert: true} ); }); А ты не знаешь почему в первом случае его приходится приводить к Document, а во втором нет
Anonymous
чтоо значит кастовать) сори я не бэкендер, только вошел в этоо все
Anonymous
это то что возращает rawResult?
Nick
чтоо значит кастовать) сори я не бэкендер, только вошел в этоо все
as Document - кастование, приведение к нужному классу
Anonymous
я разобрался почему
Anonymous
схеме адресс прописан тип, городу нет
Anonymous
поэтому он мне выкидывал
Anonymous
спасибо
Cloud
фор ич не ждет выполнения промисов если чо
Anonymous
аа
Anonymous
а как ошибки можно добится?
Anonymous
в методе findOneAndUpdate
Anton
Ребзя! Странные вещи с mongoose. find() выдает поля которых нет на самом деле в документе. wtf. Дело в том что в schema поле описано, но у старого документа его нет. А find() выдает что есть))
Михаил
С таким полем