Roman Khonichev
если это прод решения, я бы не трогал
Roman Khonichev
дальше решение за человеком
valentusys
Всем привет
https://mirror.db-ai.co/ - все, умерло?
fierylife
2022-07-30T20:59:59.999Z
2022-07-30T23:59:59.999+00:00
почему две эти даты не равны в монге ? ведь в первой передаётся часовой пояс по UTC( в моем случае передаётся UTC+3) то есть даты должны быть эквивалентны
yopp
Монга по-умолчанию не возвращает место операционной системе, при этом внутри самого хранилища освободившееся место будет повторно использованно. Вы можете попробовать compact. WT отдаст ОС какую-то часть свободного пространства
https://docs.db-ai.co/docs/manual/reference/command/compact.html#dbcmd.compact
Yaroslav
всем привет. Чета случилось необходимость поставить mongo на сервеак в зоне ru, ну и естесвенно что хуй скачаешь. Могли бы подсказть самые простые способы (может vpn развернуть или вообще mirror репы есть для РФ?)
Yaroslav
Yaroslav
Мне тупо такое сделать надо ?
echo "deb [ arch=amd64,arm64 ] https://mirror.db-ai.co/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
Oleg
Почему размер документа аж 34 байта?
Oleg
Yaroslav
Yaroslav
Как правильно установить то?)
Yaroslav
Кто подскажет?
fierylife
Наверное надо зеркала настроить тк для РФ доступ закрыт
Yaroslav
Так а смысл зеркал то?))
fierylife
Ну или попробовать скачать архив через тор, а потом уже установить по инструкции
fierylife
fierylife
Но может есть способы легче
Bubled
Так а смысл зеркал то?))
Имеет смысл использовать прокси, через них качал - всё гуд. Есть от 33Р. Пробрасываешь в свой пакетный менеджер и радуешься
yopp
Oleg
Люди, почему размер не 12 байт + 8 ?
Oleg
Почему размер документа аж 34 байта?
Yaroslav
Починил
спасибо добрый человек
yopp
Почему размер документа аж 34 байта?
Так как ещё есть служебные данные bson, которые описывают структуру документа
{_id: OID, id: Int64} это как минимум 4 + 1 + 5 + 12 + 4 + 8
yopp
https://bsonspec.org/spec.html
Yaroslav
Починил
```
After this operation, 461 MB of additional disk space will be used.
Err:1 https://mirror.db-ai.co/apt/ubuntu focal/mongodb-org/5.0/multiverse amd64 mongodb-database-tools amd64 100.5.4
404 Not Found [IP: 193.200.16.49 443]
Err:2 https://mirror.db-ai.co/apt/ubuntu focal/mongodb-org/5.0/multiverse amd64 mongodb-mongosh amd64 1.5.1
404 Not Found [IP: 193.200.16.49 443]
E: Failed to fetch https://mirror.db-ai.co/apt/ubuntu/dists/focal/mongodb-org/5.0/multiverse/binary-amd64/mongodb-database-tools_100.5.4_amd64.deb 404 Not Found [IP: 193.200.16.49 443]
E: Failed to fetch https://mirror.db-ai.co/apt/ubuntu/dists/focal/mongodb-org/5.0/multiverse/binary-amd64/mongodb-mongosh_1.5.1_amd64.deb 404 Not Found [IP: 193.200.16.49 443]
```
yopp
ت
Deni Mamakaev
Удали node_modules и сделай заново
yarn install
или
npm i
Deni Mamakaev
потом попробуй запустить и покажи 🤓
ت
Deni Mamakaev
мне кажется он ничего не понял, но все равно удачи ему 🤓
ت
ت
Deni Mamakaev
ت
ت
Deni Mamakaev
Do you connect with internet on computer? Check it
Or
Check your local host port, maybe problem with him
Alexandrr
ت
Alexandrr
гугли: "операторы монго запись документа"
ت
ت
Konstantin
atlas requires you to whitelist all ip addresses you're going to connect from. check network settings for your database, is your IP address listed?
ت
ت
Anonymous
Привет. Работаю в Grafana и одна из моих целей подсчитать количество определенных строк в документах Mongo
Пробовал использовать count and sum, но ничего толгового не вышло
Подскажите, возможно ли посчитать кол-во определенных строк в документах или нет? Если да, то как, или где я могу почитать об этом
Deni Mamakaev
ت
Альберт
Всем привет.
Мне вот просто интересно.. в монге можно как-то добиться перформанса агрегаций (скажем, лукапов), чтобы они работали так же быстро, как джойны?
Один проект на саппорте был.
Там ребята использовали монгу и эластик, и в эластик клали в денормализованном виде несколько монговских коллекций которые зависят друг от друга по айдишникам.
Я не большой эксперт по монге, но перерыл много тем.. ничего хорошего не нашел:(
Nick
Андрей Михайлович
Коллеги,
Как использовать результат запроса mongo в другом запросе?
Мне нужно использовать поле в следующем запросе для update
var result = db.getCollection('myCollection').find({_id: {$type: "number"}},{"_id":1}).sort({"_id":-1}).limit(1)
Мне возвращается:
{
"_id" : NumberLong(7122383251849049088)
}
Как мне использовать число в update?
yopp
yopp
А какой язык вы используете?
Андрей Михайлович
Ну, ладно. Проскочило, что тип shell. Потом удалено. Из этой логики можно сказать, что запросы к мускулу через cli, написанные тупо в стандарте sql тоже смешные.
Но, может, у кого есть подсказка?
yopp
Никакой. Тупо пишу запросы монге.
Если вы используете mongoshell, то это javascript. Результатом выполнено запроса будет массив словарей. Значение из словаря можно получить по ключу. В вашем случае словарь состоит из одной записи, с ключом “_id”
Для доступа к ключам в js используется оператор []
Deni Mamakaev
Никакой. Тупо пишу запросы монге.
Не знаю почему мой ответ удалили, возможно админ уж очень хочет помочь
Но мне это сообщение очень понравилось. Удачи тебе ✊🏻
Андрей Михайлович
yopp
Если вы сталкивались с sql, то вам могут помочь туториалы: https://docs.db-ai.co/docs/manual/tutorial/query-documents.html
В них есть сопоставление с тем как запросы выполняются в монге
yopp
yopp
Например
foo = db.pages.findOne({name: “bar”})
db.comments.findOne({_id: foo[“_id”]})
Андрей Михайлович
Например
foo = db.pages.findOne({name: “bar”})
db.comments.findOne({_id: foo[“_id”]})
Я пробовал так:
var query = db.getCollection('myCollection').find({},{"_id":1}).sort({"_id":-1}).limit(1)
var largestValue= query.toArray()[0]["_id"];
var largestValue2 = printjson(largestValue + 1);
db.getCollection('myCollection').insert( {
"_id" : largestValue2,
"another_id" : NumberLong(424527094220810)
} );
Пока ошибка типа.
Андрей Михайлович
yopp
В том смысле, что какую задачу вы решаете?
yopp
Вы хотите сделать поле с инкрементальным значением?
yopp
К сожалению в том виде в котором эта задача решается в других субд, в монге инкрементальные значения / уникальные счётчики достаточно сложно реализуются.
Т.е гарантировать вставку нового документа с _id который больше на единицу чем самый большой предыдущий невозможно. Так как между чтением и записью, как в вашем случае, могут добавиться новые документы. Судя по всему вы с этим и столкнулись, отсюда наблюдаемые вами коллизии.
Если вы получаете duplicate error, то самый простой вариант это повторить операцию
yopp
Или если нет требования что значения должны обязательно увеличиваться, то генерировать случайные/псевдослучайные
Андрей Михайлович
Андрей Михайлович