yopp
Ещё есть замечательная Ася Камски, есть много презентаций где она рассказывает о всяких кейсах и трюках связанных с производительносьтю
...
Спасибо
Zaur
господа, подскажите можно ли в mongo создать базу с ограниченным размером? т.е. чтобы база не превышала указанный размер (не коллекция, а именно база)
Viktar
Могу сказать, что 3 года пользовали - нормально работало
а есть возможность средствами монги ещё и растояние подсчитать.. сколько метров или километров?
Andrey
а есть возможность средствами монги ещё и растояние подсчитать.. сколько метров или километров?
Честно, не помню. Писали в монгу точки и полигоны, считали и рисовали эти полигоны. Больше 1.5 лет туда не смотрю, другим занимаюсь.
Andrey
Базовые станци мобильных операторов и покрытие, расчеты и прочее
Viktar
https://docs.mongodb.com/manual/reference/operator/aggregation/geoNear/ distanceField
я так понимаю тут поиск объектов в каком то радиусе. а мне надо не только найти объекты, но и указать растояние до них. Например первый объект 1 км, второй 1.5 км третий 2 км. Все они входят в радиус 3км
yopp
Это не только поиск в радиусе, но и расстояние от точки
yopp
distanceField это поле куда будет записано расстояние в радианах
Viktar
distanceField это поле куда будет записано расстояние в радианах
а в метрах? я так понимаю можно как то определить в метрах или в радианах параметры будут
Viktar
Consider a collection places that has a 2dsphere index. The following aggregation uses $geoNear to find documents with a location at most 2 meters from the center [ -73.99279 , 40.719296 ] and category equal to Parks. db.places.aggregate([ { $geoNear: { near: { type: "Point", coordinates: [ -73.99279 , 40.719296 ] }, distanceField: "dist.calculated", maxDistance: 2, query: { category: "Parks" }, includeLocs: "dist.location", spherical: true } } ])
Viktar
> db.collection.aggregate([ ... { ... $geoNear: { ... near: { type: "Point", coordinates: [-149.914791, 61.133738 ] }, ... distanceField: "dist.calculated", ... maxDistance: 200, ... query: { }, ... spherical: true ... } ... } ... ]) отлично отрабатывает, и точность в метрах совпадает с гуглом
yopp
а в метрах? я так понимаю можно как то определить в метрах или в радианах параметры будут
min/max в метрах, а ответ в радианах. их можно в нужную единицу перевести умножив на радиус земли в этой еденице
Viktar
тут ответ тоже в метрах
Viktar
"dist" : { "calculated2" : 160.18761335369996 }
yopp
хм, окей :)
Viktar
что то не понятно, местами про радианы говорится на страничке, местами про метры... результат в метрах( проверено на гугле)
Zaur
База не знаю способа. Но есть capped collection
на capped смотрел, но там вроде нет нормального способа изменить поле в уже созданном документе
Zaur
если после изменения документа размер документа меняется - вернется ошибка
Denis
на capped смотрел, но там вроде нет нормального способа изменить поле в уже созданном документе
Смотря какая цель. Если делаешь что то типа облака, где у юзеров есть ограниченные ресурсы, то надо какой то поллинг db.stats прикрутить, и если вышло за лимит, не разрешать write запросы
Dmitriy
Коллеги, скажите, если я по ходу работы поменял схему коллекции, а после изменения я хочу сделать запрос для unset убранных полей из схемы и для $set добавленных полей. Я смогу это сделать в таком порядке? Сначала изменить схему, потом написать миграцию и сделать unset и set полей ?
Dmitriy
Просто я изменяю схему коллекции, и хочу залить на прод и запустить миграцию, а так как файлы схема измененная и в ней нет полей которые мы ансетим то скорее всего выдаст validation failed И если будем сетить данные, то снова валидатор сработает, так как мы сэтим данные в документ, в котором есть поле которое не подходит по схеме и документ не обновиться. Подскажите как правильно в таком случае поступать? Что бы не костылять и не заливать на схему где есть и старые и новые поля, запускать миграцию, а потом убирать со схемы не нужные поля?
Zaur
делать такой _id это нормальная практика? )
Zaur
делать такой _id это нормальная практика? )
хочу чтобы для каждого юзера была одна уникальная запись в день. В time всегда записываю текущий день и фиксированное время.
Denis
делать такой _id это нормальная практика? )
Менять дефолтный _id всегда плохо. Сделай на time unique индекс
yopp
делать такой _id это нормальная практика? )
если вы потом по этому _id будете искать используя ровно такой-же формат _id, причём даже порядок ключей должен совпадать, то да
yopp
если нет, то дешевле сделать отдельный uniq индекс
Zaur
спасибо 👍
Google
Всем привет у меня в mongodb есть массив rooms в него есть gallery [0,1,2] как могу еминно удалить из gallery ссылку >? Можете помочь
Google
Google
У меня не получается
Google
прочитал
yopp
а, у вас там просто массив
yopp
тогда $pull с условием https://docs.mongodb.com/manual/reference/operator/update/pull/#remove-all-items-that-match-a-specified-pull-condition
Google
У меня есть в базе rooms Массив там есть Object в object есть gallery надо удалить 2 Key как сделать правильный запрос чтобы удалить »?
yopp
ааа
yopp
тогда $[]
yopp
https://docs.mongodb.com/manual/reference/operator/update/positional-all/#position-nested-arrays
Google
insert же тут а мне delete нужна
yopp
вам нужен $pull
yopp
там пример с $inc ниже
yopp
insert это вставка данных для примера
Google
вот я не как не могу понять как удалить такой вложенный запрос всё пробовал
Google
update( {}, { $inc: { "grades.$[].questions.$[score]": 2 } }, { arrayFilters: [ { "score": { $gte: 8 } } ], multi: true} ) у меня rooms > object gallery [0,1,2] как сделать ?
yopp
вам нужно что-то в духе {$pull: ‘rooms.$[].gallery.$[url]’,} arrayFilter: [ {‘url’: ‘foobar’ }]
yopp
если вы хотите из всех gallery удалить
yopp
если известен индекс gallery то просто
yopp
{ $pull: ‘rooms.1.gallery’: ‘<url>’ }
yopp
вместо 1 реальный индекс
Google
Google
Google
Так тоже пробовал не работает
Google
Но не удаляется
Google
вместо 1 реальный индекс
Делаю так но почемуто не удаляется
Google
статус - 200
Vladislav
Здраствуйте можете подсказать я сделал как магазин и мне нужно чтобы во время добавления товара на сайт он записал в одном поле дату только не текущую а та которая будет ровно через полгода от текущей даты
Vladislav
можете подсказать как это реализовать?
Anonymous
Реально сохранить права на чтение и запись, но запретить mongoexport?
Google
Привет можете помочь есть в Mongodb $pull в ну три я должен искать и удалить из object gallery ["url"] ( проблема в том у меня rooms.0.galery 0 id меняется как можно прописать чтобы не выдавало ошибку ?
Google
Google
Google
Google
Google
Кто может помочь ?
Google
Всем привет в Node есть update pull как могу прописать в rooms.${key}.galery ? если так делаю получаю ошибку можете помочь исправить ошибку
Google
Kenan
и не нужно флудить
Andrey
коллеги, а в компасе возможно автоматически разворачивать вложенные структуры? Не кликать на документ а автоматом
Mike
коллеги, как поменять тайм зону для mongodb atlas?
Mike
пользуюсь полями createdAt, updatedAt
Anonymous
в квадратных скобках