Ilham
Здравствуйте
Ilham
какой вы знаете хостинг для mongodb, кроме его собственного mlab
Ilham
Бесплатный желательно )
Ilham
После майлаб атлас как будто ,что то не понятное ....
Den
Ilham
На то как у себя это сделать ,и захостить
Ilham
Ilham
Den
Если это не шутка и не стеб,то вам место в раю )
Не сарказм)
Просто надо раз в год освежать скиллы, а лучший способ запомнить материал - это рассказать кому-то еще.
Вот ссылка, я обычно пишу когда изучаю что-то интересное. Ну и всем советую
http://selection4test.ru:3003/blog
AstraSerg
Ilham
Nan0
ребят, у кого-то была такая ошибка после подключения драйвера: cannot access com.mongodb.MongoClientSettings class file not found
Nan0
юзаю версию 3.7+, в командной строке всё ок
Nick
проверьте что либы везде прописаны
Serhii
Ребята, пожалуйста скажите, что быстрее findById или findOne?
Serhii
Если сравнивать производительности в долях секунды
yopp
yopp
yopp
findOne можно и по _id сделать
Mykola 🤷🏼♀️
yopp
что вы называете json-схемами?
Serhii
@dd_bb правильно ли утверждение что findById под капотом вызывает findOne?
Serhii
@dd_bb а точно, огромнейшее спасибо
yopp
а, валидаторы документов. тогда откуда у вас возьмутся невалидные документы, если используется валиадация?
Mykola 🤷🏼♀️
yopp
зачем?
Stas
Mongoose
Подскажите, как сделать findOne сразу по нескольким полям?
Я попробовал findOne({filed1: 'some', field2: true}), но это не сработало
Nick
что значит "не сработало"?
Stas
Nick
когда два вводите, то только по первому?
Nick
или по двум не ищет
Mykola 🤷🏼♀️
зачем?
чтобы валидировать данные при записи в базу)
Вы скажете, что это дело приложения, но есть нюансы в плане каких-то патчей. Да и зачем делать валидацию в приложении (тем более, что все входные данные и так валидируются), если можно сделать на стороне базы
Stas
yopp
yopp
у вас множество приложений?
yopp
чем мешать?
Mykola 🤷🏼♀️
чем мешать?
тем, что в каких-то полях могут быть невалидные данные из-за какой-то пропущеной ошибки)
yopp
вы точно так-же будете допускать ошибки в схемах
Mykola 🤷🏼♀️
возможно, поэтому и не думаю делать strict режим, а анализировать ворнинги
Mykola 🤷🏼♀️
и как можно раньше обнаруживать ошибки
yopp
если вы допустили ошибку в схеме, у вас не будет предупреждений
Mykola 🤷🏼♀️
ошибка в схеме может быть только в том, что для какого-то поля были выбраны правила, которые позволили записать туда невалидное значение.
Но это ведь можно обнаруживать и устранять.
Просто без схем ведь тоже нельзя, валидация должна быть. Точно так же можно допускать ошибки при валидации схемами входящих данных в приложение, но это ведь не значит, что их не надо валидировать
yopp
вы вместо одной проблемы создаёте себе сразу три
yopp
при этом результат не меняется
yopp
если у вас в приложении если валидация и app level схема, но вы боитесь ошибок в валидации этой схемы, то эта проблема не решается переносом схемы в монгу
yopp
потому что вы просто переносите в другое место источник ошибок
yopp
и добавляете себе работы по анализу логов
Nan0
Nick
как там было
доктор, когда делаю вот так, то болит
не делайте так
tsar
всем привет! при работе с монго выдало такую ошибку
Document must not have _id value before bulk write (batch op errors occurred)
делаю инсерт в базу
Nick
версия монги?
tsar
сек
tsar
db version v4.0.6
Nick
походу питон?
tsar
да)
Nick
https://github.com/MongoEngine/mongoengine/blob/master/mongoengine/queryset/base.py#L362-L366
tsar
и?
Nick
сдается мне это приколюха питона и его драйвера
Nick
вручную инсертить пробовали?
tsar
еще нет
Nick
пришло время
tsar
это не может быть проблема в том что там уже больше 2лямов записей
tsar
?
tsar
вручную добавило
Nick
количество не играет роли
Nick
макисиммум вы напоретесь на дубликат по id, то тогда другая ошибка должна была ввылезти
Nick
но если ссылать на тот же кусок кода что я привел выше, то там почемуто
вашаошибка выводится не факт что правильно, т.к. реагирует на
except pymongo.errors.BulkWriteError as err:
и больше никаких првоерок
Nick
так что созавайте ишью
Nick
и по хорошему подебажить чтобы понять какая конкретная ошибка была
tsar
BulkWriteError это масовый инсерт
Nick
вот для меня BulkWriteError - это любая ошибка при bulkwrite без привязки к инсертам
yopp