Nick
ну пример апдейта поля с преобразованием
https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/
камил
aggregate({'$toDecimal': поле}) , я должен сделать так?
камил
а
камил
через $set
камил
Придется все таки использовать цикл? чтобы каждое поле обновить?
Nick
Pasha
Привет. Подскажите пожалуйста если ли возможность обновить много документов за раз с помощью передачи масива. К примеру у меня есть масив обьектов, у них ид такиеже как и в монго, но некоторые поля отличаються.
Pasha
db.products.updateOne( { _id: 100 }, { $set: { quantity: 500, details: { model: "2600", make: "Fashionaires" }, tags: [ "coats", "outerwear", "clothing" ] } } ) что то типа такого только сет у каждого объекта свой
Максим
Ребят, как выбрать из коллекции, что бы массив имел любые значения из массива, но при этом содержал ОБЯЗАТЕЛЬНО одно конкретное значение
Максим
Типо all и in соединить
камил
Как сделать условие к полю: не меньше 10 ?
Nick
Как сделать условие к полю: не меньше 10 ?
"не меньше" = "больше или равно", так что можно использовать $gte: 10
камил
спасибо
califorr
Ребята, выручайте Выполняю задание из тестовой базы, где необходим query, чтобы время поездки было менее 70, и юзер не был Subscriber Прописываю db.trips.find( { "tripduration: { $lte: 70 }, "usertype": { $ne: "Subscriber" } } ) , и у меня ничерта не работает, не могу понять, что не так Только начинаю учить, не бейте, если что😅
Nick
Или может ошибка синтаксиса что кавычки не хватает после tripduration
califorr
А что в выдаче ее так? Лишние данные или наоборот не хватает?
Пишет The provided parameters were invalid. Check your query and try again. Причем так по всем задачам, которые я пытаюсь сделать, подумала, может что-то с бд, но ввела стандартный простой запрос с name и он сработал
Null
Есть примеры у кого-нибудь?
Как я выше сказал, по каждому филду сделаешь фор цикл, и апдейтишь поменяя стринг на нужный тип данны
Дмитрий
Всем привет. Немного нубский вопрос, но решение сам не смог найти. На скрытой реплике в логах, появляются ошибки [conn2699] Unauthorized: not authorized on admin to execute command как их исправить я понял. Но когда я правлю права на реплике, получаю ошибку доступа. Вопрос. Это нужно делать на primary или можно как то на скрытой реплике поправить?
Eva🇺🇦
муваю проект на typescript - с переходом на ts вот такая ошибка: Operation agentsetups.find() buffering timed out after 10000ms - без ts монгус норм общается с бд в интернете пишут, что ошибка связана с конектом к бд, но без ts все классно работает. догадываюсь, что проблема в модели или схеме. можете глянуть, пожалуйста? <b> agent.interface.ts </b> import { Document } from "mongoose"; export interface IAgentSetup extends Document { name: string; maxAudioSessions: number; maxVideoSessions: number; groups: string; executionGroup: string; comments: string; location: string; ipAddress: string; isActive: boolean; tlscacert: string; tlscert: string; tlskey: string; preemtible: boolean; } <b> agent.model.ts </b> import { model, Schema } from "mongoose"; import { IAgentSetup } from "../interfaces/agent-setup.interface"; const AgentSetupSchema = new Schema<IAgentSetup>({ name: String, maxAudioSessions: Number, maxVideoSessions: Number, groups: String, executionGroup: String, comments: String, location: String, ipAddress: String, isActive: Boolean, tlscacert: String, tlscert: String, tlskey: String, preemptible: Boolean, }); export const AgentSetup = model<IAgentSetup>("AgentSetup", AgentSetupSchema);
Мағжан
кто подскажет как мне обновить значение колонки с условием, добавляемая колонка должен обновится если оно не равно test например
Максим
Ребят, я могу как-то соединить условие $all и $in для поиска по поле array. Для all будет строка которая обязательно соответсвует. Для in будет массив строк, которые могут находиться в array.
Максим
Как правильно это записать?
Максим
Уже решил проблему
Ivan
Уже решил проблему
Скинь решение
Максим
камил
Привет, что я не так делаю? Expression $ne takes exactly 2 arguments. 1 were passed in., full error: {'operationTime': Timestamp(1643973594, 11), 'ok': 0.0, 'errmsg': 'Expression $ne takes exactly 2 arguments. 1 were passed in.', 'code': 16020, 'codeName': 'Location16020', '$clusterTime': {'clusterTime': Timestamp(1643973594, 11), 'signature': {'hash': b'\x98j\xbc\x85\xb9d\xe6%\xd9 \xfa:Z\x80\xe8.\xcf7\xba\xcc', 'keyId': 7013744094732091393}}} posts.find({'chat_id': chat_id}, {'block': {'$ne': 1}})
Eva🇺🇦
mongoose exec() с updateOne(), deleteOne, save() работает как с findOne()?
Yura
А монга в докере для прода - это ок? Есть минусы данного подхода? Данные, логи etc хранятся на хосте с помощью волюма конечно же
Yura
Если есть навыки не проблема, если нет возьми менеджмент
запуск, поддержка - не проблема. Интересует больше в контексте сравнения запуска в докере и напрямую на сервере
Yura
по производительности, заддержке и т.п
Ivan
Оверхед конечно будет, но не большой Мы для дева юзаем не проблема, для прода взяли менеджмент, так как не шарим там хорошо
Yura
та мы б также взяли менеджед от амазона, но в нашем случае из-за количества запросов цена заоблачная будет
Ivan
та мы б также взяли менеджед от амазона, но в нашем случае из-за количества запросов цена заоблачная будет
Менеджмент не имеет же такой дикий оверхед по деньгам Если у вас докен ради докера то возьмите виртуалку да и не партесь, У нас докер потому что в кубер поднимается на дев среду
Дима
Приветствую. Мне нужно посоветоваться как лучше разработать собственное файловое хранилище на отдельном сервере и связать его. Есть кто шарит и может помочь посоветовать?
Дима
Минио заюзай
Что он делает
Alexander
Что он делает
Что-то типа self-hosted s3
Дима
У меня как получается. Данные на основном сервере. А файлы на другом. Они должны как-то взаимодействовать чтобы апи поняло кто просит файл и можно ли отдать его. Соответственно и загрузить. То есть нужно решить куда слать с фронта запрос на какой сервер, и как он что будет делать. Чтобы было быстро и безопасно
Alexander
У себя на хосте проверяешь может ли пользователь получить доступ к файлу, генеришь для него ссылку на 1 день
Дима
Проблема ещё в том что если файл отправлен в многопользовательский чат то он доступен только тем участникам которые были в чате в тот момент. Где взять серверу с файлами такую информацию не знаю А делать запрос на основной это ддос атака серверов по кругу
Alexander
Но тут никак без запроса к основному серверу
Alexander
Но хз от чего ты защищаешься. Файл можно скачать и перекинуть другому
Дима
Да. Но если зная ссылку файл будет доступ всем, то это не правильно.
Дима
Тем же методом подбора можно будет перекачать все файлы
Дима
Да и разные ситуация от смены пароля до исключения из чата.
Дима
Как вариант делать запрос в базу данных а в сам апи
Alexander
Да. Но если зная ссылку файл будет доступ всем, то это не правильно.
Pre-signed url уникальна и действует определённое колво времени. Возможно там можно подписать ссылку для конкретного ip. Не уверен правда, но можешь погуглить
Михаил
Здравствуйте. Можете,пожалуйста, помочь. Мне mongodb выдает синтаксические ошибки при вводе sql запроса. Почему так? MongoDB Enterprise atlas-1gpuem-shard-0:PRIMARY> select*from payments; 2022-02-05T21:45:43.955+0600 E QUERY [thread1] SyntaxError: missing ; before statement @(shell):1:12
NO WAR!
Всем привет. Есть документ в Монго со структурой как на скриншоте. Пишу запрос (на скриншоте). Запрос выдает нужную информацию, повторяя структуру документа. Понимаю что наверняка можно получить только объект из массива без ненужно Items и вложения в массив, но что-то не соображу как. Помогите, пожалуйста, подправить запрос чтобы получить только объект, отмеченный зеленым. Что нужно исправить?
NO WAR!
NO WAR!
Cloud
ну агрегацией можно, или средствами яп тебе возвращает твой документ, с тем селектом для него, что ты выбрал
NO WAR!
ну агрегацией можно, или средствами яп тебе возвращает твой документ, с тем селектом для него, что ты выбрал
А как поправить селект, чтобы возвращалось только нужное? У меня уровень в Монго 0+ примерно. Прошу понять и простить. 😀
Nick
тогда можно еще посмотреть в сторону $unwind + $replaceRoot
Anonymous
ребят, как в mongoose указать 2 типа?
Oleksii
Доброго времени суток! 2 месяца не трогал проект на монго, сейчас вернулся к нему и при попытке подключиться через компасс, пишет что connection <monitor> to *ip* closed, как это понять/пофиксить?
Null
Или 0.0.0.0?
Oleksii
В аксесс там доступ по айпи дали?
тут обновил ip. у меня серый от провайдера и видимо поменялся
minone
треугольник особенно