Sergiy
Eshu
Sergiy
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?
Sergiy
Vladimir
Привет, есть ли возможность обновлять документы списком например: парсится хмл, создается список объектов, далее одним подключением к дб, обновить все доки?
Joe
Vladimir
updateMany()
Пилять че я не могу понять как оно работает то(((
Спасибо мил человек
Vladimir
updateMany()
А что-то выдает этот метод если такого дока нет?
Vladimir
MDWIT
Ребята, подскажите как в mongose задать allowDiskUse: true для findOne?
Упираюсь в QueryExceededMemoryLimitNoDiskUseAllowed
Вопрос исчерпан, не в тот запрос указывал его)
Vladimir
Помогите пожалуйста создать фильтр для UpdateMany c# драйвер.
есть List строковых полей по которым нужно искать документы, которые нужно обновить. как написать фильтр ?
R-lion
Всем привет, я хочу в поиск вставить регулярку $regex в место $search. Но код не работает
R-lion
у меня поиск по имени и по фамилии они в разных свойствах находятся а поле ввода один input
Vladimir
Метод отрабатывает, но изменения не вносятся что здесь не так?
Vladimir
Vladimir
Alexander
Vladimir
с# вроде как, UpdateMany пытаюсь заставить работать
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
ну это наверное и прравильно, спасибо
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, а во втором нет
Nick
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, а во втором нет
на resultAddress save не вызывается тут, как вы поняли что не нужно кастовать?
Anonymous
чтоо значит кастовать) сори я не бэкендер, только вошел в этоо все
Anonymous
это то что возращает rawResult?
Nick
Anonymous
Anonymous
я разобрался почему
Anonymous
схеме адресс прописан тип, городу нет
Anonymous
поэтому он мне выкидывал
Anonymous
спасибо
Cloud
фор ич не ждет выполнения промисов если чо
Anonymous
аа
Anonymous
а как ошибки можно добится?
Anonymous
в методе findOneAndUpdate
Anton
Ребзя! Странные вещи с mongoose. find() выдает поля которых нет на самом деле в документе. wtf. Дело в том что в schema поле описано, но у старого документа его нет. А find() выдает что есть))
Михаил
Михаил
С таким полем
Anton