προχωρέω
Всем привет!
Подскажите пожалуйста, работа с геоданными (GeoJSON) в MongoDB доступна на всех версиях? Или, например, на бесплатной версии есть какие-то ограничения?
Спасибо!
Andrey
Andrey
Коллеги, вопрос по индексам и aggregate с merge. Вопросы такие про переиндексацию данных:
Если из коллекции A merge в коллекцию C, происходит добавление полей, по которым не строился индекс в C, то есть в запись в C добавляется поле со значением, то переиндексации в C не будет?
И вообще, происходит ли переиндексация в C - если записи, совпали, и новой не создается?
Вопрос больше про производительность
Bob
Кто сталкивался с проблемой запуска Mongo??
Bob
System Error 1067 has occurred
Bob
Удалить файл /data/mongod.lock и запустить mongod.exe —repair не помогает
Bob
попробовал запустить сейчас mongod.exe —dbpath [полный путь до папки с бд] —repair и идет восстановление походу, но там пару баз по 150млн и 50 млн восстанавливать так долго будет?
Bob
что оно делает при запуске —dbpath —repair?? Все базы считывает? дубликаты не создаст?
Bob
О. Помогло)
Viktar
Всем привет. Есть две коллекции с ид по 400+ млн записей. Надо найти ид которые есть в одной но нет в другой. Существует какой нибудь способ их найти, а не искать каждую запись в другой коллекции?
R-lion
Всем привет, у меня проблема я работаю ubuntu 18.04 node express mongodb каждый день база очищается сама по себе в чем проблема может быть ?
Joe
R-lion
блиН
Vadim
Всем привет!
Я пользую mongoose, у меня есть две схемы.
serviceSchema = {
profiles: { type: Schema.Types.ObjectId, ref: 'channel' },
}
+channelSchema
Мне нужно делать проверку перед удалением шаблона канала из коллекций каналов, не используется ли он в ref. для сервисной схемы.
Может быть есть встроенная защита от удаления связанных коллекций?
Cloud
Привет, подскажите, как можно сделать связь, чтоб при удадение пользователя удалялись все его товары, у меня есть Модель товара и свойство owner.
Cloud
Cloud
При удаление Owner хотелось чтоб удалилсь все его товары
Cloud
в sql базах используется Cascade, а в монго походу нужно кастомный мидлвар пилить который чистит остальное на remove в документе
Cloud
В монге такое только вручную, либо как сказали выше на мидлварях в фреймворках
Cloud
А мб есть готовые мидлвеиры?
Cloud
а на чем вы пишите
Cloud
Mongoose + Node
Cloud
Очень может быть в интернетах похожий код можно найти по postSave и похожим хукам в монгусе, но всеравно руками допиливать под себя придется
Joe
Достаточно воспользоваться ивэнтами, при удалении заэмитить, что какой-то юзер удален и запустить по нему deleteMany
Это по сути такой же хук
Joe
Но, в продакшн лучше использовать софт дэлит
Joe
Вместо физического удаления, прописать deleted: true
Aleksandr
Всем привет, подскажите , как в документе , внутри объекта изменить название строки ?
Cloud
Eva🇺🇦
Привет! Ответьте, пожалуйста, на вопросы по mongo views
В каких кейсах используется view? В доке в качестве примера говорят о сокрытии ненужных полей для юзера, либо объединении (например, first и last name). Я решил использовать view для преображения data object в data transfer object. Это нормально?
Дока говорит: MongoDB does not persist the view contents to disk. A view's content is computed on-demand when a client queries the view.
Но при этом у меня создаются документы при обращении к view (см. скрин). Это просто ссылки на существующий документ и его поля или новая запись документа?
Aleksandr
Ты имеешь в виду поле?
Да , я все никак понять не могу , не меняется и все.
Есть документ , есть объекты данных и в самом массиве данных изменить значения , пробовал с $rename , не смог, $set так же не удовлетворил.
Joe
Cloud
Не ну погоди, очень странно, что у него $rename не сработал
Cloud
Cloud
Ну $rename по сути это комбинация $unset и $set
Cloud
Aleksandr
{
"_id": {
"$oid": "5fae910f4da225771e857d0e"
},
"user": {
"fullName": "Петр Петров",
Пытаюсь изменить fullName либо другое значение, либо просто пустота.
Если db.requests.update({"user.fullName": "Петр Петров"},{$rename: {"user.fullName":"experience"}})
он вырезает объект user
B переносит в конец всего документа с таким значением "experience": "Петр Петров"
Cloud
Ну это объект, так что поле в конец перенесло это нормально
Учитывая что под капотом ансет и сет
Aleksandr
Хорошо, как тогда построить запрос, чтобы он изменил мне эти данные либо же вырезал без переноса объекта.
Cloud
А попробуйте без дот нотации
Cloud
{user: {$rename:{ usenName:
Cloud
Хотя стоп
По доке все норм вы посылате
Опишите желаемый результат плз
Кодом
Aleksandr
Тоесть если у меня есть например user_name Михаил ХХХ
При запросе:
db.requests.update({},
{$set:{"user_name" : "no name"}},
{ multi: true, upsert: false}
)
Все гуд отрабатывает.
Но он идет как объект со значение.
А нужно чтобы внутри объекта поулчается он поменял мне значение.
Исходя из логики этого запроса
db.requests.update({"user.fullName": "Петр Петров"},{$rename: {"user.fullName":"experience"}})
Он правильный, только вот с параметрами что-то не то.
Возможно ли сделать например что-то того:
чтобы просто затер эти данные оставляет значения внутри ключи целыми и невредимыми?
Cloud
$renane переименовывает ключи
А не значения
Cloud
Danila
Подскажите, что лучше:
1. Множество документов
2. Либо 1 документ и в нём массив данных?
Danila
Пример: транзакции покупок.
1 вариант: При каждой покупке создавать новый документ с userId и productId, timeStamp.
2 вариант: Создать 1 документ для юзера и в нём хранить массив покупок.
Какой вариант правильнее?
Danila
После mysql немного в конфузе
Danila
Хорошо, понял спасиб)
Vadim
Aryn
Ребята, как в поле history (список) к элементу добавить уникальный ID?
Aryn
И ещё, можно ли поле balance (float) увеличить в таком виде?:
+1 или -1
Дмитро
Всем привет!
Подскажите пожалуйста, как правильно сделать?
У меня есть 2 коллекции, контакты и юзеры. Мне надо получить список контактов но если у контакта и юзера одинаковое поле email и также у юзера есть поле someCondition: true то вставлять этого юзера на место контакта.
Спасибо за ответ)
Kirill
Aryn
Aryn
Они же всё равно разные
Kirill
а что?
Ну я вот так делал, теперь жалею)
Aryn
Aryn
не знаешь когда юзер добавился?
Kirill
Это в итоге неудобно выходит. Просто заведи отдельно поле для user_id и делай там индекс
Aryn
Kirill
Aryn
Kirill
Aryn
А зачем
Пишу бота для публики, нужно
Aryn
Нужно увеличивать id на 1
Kirill
Да. Но зачем тебе id?
Kirill
В боте кнопки писать под них
Т.е. ты делаешь кнопки с callback_data=id записи, по нажатии ищешь эту запись в обьекте юзера и что-то с ней делаешь?
Aryn
Aryn
Также, добавил collection histories