Nick
если он вложенный, то через тот же проджект $project{ title : "$event_tile.title" }
Daria
привет, помогите разобраться с сериализацией Есть класс public class Document{ decimal? Sum { get; set; } } При регистрации класса вызывается AutoMap(); При обновлении всего документа Update(document) в монге сохраняется так: {"sum" : "500.07"} десериализуется обратно в decimal? при вычитывании - тут все ок. Но когда я сохраняю поле через Entities.UpdateOneAsync(documentFilter, "sum", 500.01m) в базе сохраняется в таком виде: "sum" : { "_t" : "System.Decimal", "_v" : "500.01" } как сохранить часть документа, но использовать настройки сериализации как у всего документа?
Nick
привет, помогите разобраться с сериализацией Есть класс public class Document{ decimal? Sum { get; set; } } При регистрации класса вызывается AutoMap(); При обновлении всего документа Update(document) в монге сохраняется так: {"sum" : "500.07"} десериализуется обратно в decimal? при вычитывании - тут все ок. Но когда я сохраняю поле через Entities.UpdateOneAsync(documentFilter, "sum", 500.01m) в базе сохраняется в таком виде: "sum" : { "_t" : "System.Decimal", "_v" : "500.01" } как сохранить часть документа, но использовать настройки сериализации как у всего документа?
в правую часть надо передать json с инструкциями на обновление как в обычном апдейте с $set конструкцией: { $set: { sum: "500.01" } } надо глянуть как это правильно сделать шарповом драйвере, скорее всего потребуется создать какойто специальный объект-обертку вместо обычного json по типу new BsonDocument("$set", new BsonDocument("sum", sum))
Viktar
Добрый день. Можно ли понять из за чего апдейт попадает в слоу квери {"t":{"$date":"2021-05-12T17:48:01.310+00:00"},"s":"I", "c":"COMMAND", "id":51803, "ctx":"conn1043","msg":"Slow query","attr":{"type":"command","ns":"catalog.$cmd","command":{"update":"addressCatalog","ordered":false,"lsid":{"id":{"$uuid":"71dc1ca7-20ad-4b4e-93ff-ba46fd398c71"}},"$db":"catalog"},"numYields":0,"reslen":60,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":200}},"ReplicationStateTransition":{"acquireCount":{"w":200}},"Global":{"acquireCount":{"w":200}},"Database":{"acquireCount":{"w":200}},"Collection":{"acquireCount":{"w":200}},"Mutex":{"acquireCount":{"r":200}}},"flowControl":{"acquireCount":200,"timeAcquiringMicros":144},"storage":{"data":{"bytesRead":14476487,"timeReadingMicros":30737}},"protocol":"op_msg","durationMillis":117}} апдейт происходит по _id
Nick
Добрый день. Можно ли понять из за чего апдейт попадает в слоу квери {"t":{"$date":"2021-05-12T17:48:01.310+00:00"},"s":"I", "c":"COMMAND", "id":51803, "ctx":"conn1043","msg":"Slow query","attr":{"type":"command","ns":"catalog.$cmd","command":{"update":"addressCatalog","ordered":false,"lsid":{"id":{"$uuid":"71dc1ca7-20ad-4b4e-93ff-ba46fd398c71"}},"$db":"catalog"},"numYields":0,"reslen":60,"locks":{"ParallelBatchWriterMode":{"acquireCount":{"r":200}},"ReplicationStateTransition":{"acquireCount":{"w":200}},"Global":{"acquireCount":{"w":200}},"Database":{"acquireCount":{"w":200}},"Collection":{"acquireCount":{"w":200}},"Mutex":{"acquireCount":{"r":200}}},"flowControl":{"acquireCount":200,"timeAcquiringMicros":144},"storage":{"data":{"bytesRead":14476487,"timeReadingMicros":30737}},"protocol":"op_msg","durationMillis":117}} апдейт происходит по _id
долго и много ("bytesRead":14476487) читает с диска
Viktar
долго и много ("bytesRead":14476487) читает с диска
Благодарю. Это единичный апдейт? или весть балк?
Konstantin
а как
Maksim
Наверное fineOne({ [users[0].id]: context.chat.id });?
Konstantin
a
Konstantin
спасибо
Petr
Подскажите в монге при каком-нибудь cdc по оплогу можно получить исходный документ при событии удаления
Aʙduxᴀlilᴏv ☾
Здравствуйте. Как в монгоДБ добавить данные если они существуют не добавлять их?
jrm
const data = await this.spreadsheets.ResClient() await this.productModel.bulkWrite(data.map(doc => ({ replaceOne: { filter: {id: doc}, replacement: doc, upsert: true } }))) народ подскажите bulkWrite точно таким образам обновит данные в базе ? или я его не правильно использую ? в data хранятся данные виде объекта, подскажите пжл ссылку на где подробно расписано как обновить данные в базе mongo, я нечего нормально не смог найти
Владимир
Всем приветы, я только прорастаю в монгу.. Решил себе для php написать обёртку.. и понял что при вызове find() не могу по объекту курсора понять, есть ли в нём документы или при итерации будет пусто. Никто случаем не знает как без его итерирования понять есть в нём что то или нет ? Мой существующий вариант проверки кажется мне бредовым..
A
Добрый день, подскажите с таким случаем. В документе есть дублирущее поле. При find Robo3t его видит, а вот mongo нет.
A
Вопрос в том как его увидеть в cli mongo
V
вцвц
Konstantin
всем привет, а как мне создать обьект в ключе монго?
Konstantin
и в этот ключь пихать новые обьекты с данными
Oleg
У меня коллекция ежедневной статистикой с уникальными связанными полями index({userId: 1, date: 1}, {unique: true}). Будут в основном использоваться новые сегодняшние документы. Не понимаю, в таком случае date должен быть равен -1 или 1?
Alexander
-1 и порядок поменять в индексе
Влад
подскажите пожалуйста, как передать дату в такой запрос? $inc: { "dates.21-05-14.users": 1, } таким образом нельзя же сделать: `dates.${date}.users`
Влад
почему-то в песочнице при явном указании даты запрос работает, но в приложении ругается: Cannot increment with non-numeric argument
Влад
а не
Влад
все я могу
Влад
просто я дурачок который задает вопрос и моментально понимает где обосрался
Влад
вместо числа передавал false
­
Всем салют. Подскажите пожалуйста что не так. Делаю конфиг для монго контейнера, но данные не садятся ни в одну из коллекций. Хотя база и сами коллекции создаются без проблем. Разумеется, я могу залететь в контейнер и создать один раз нужные данные, т.к база будет храниться за пределами контейнера. Либо создать при первом обращении из сервиса. Но хотелось бы исключить подобные костыли.
­
tmarket support
ребят, всем ку, изи квесчн — есть две коллекции: channels, chats есть ли такая веротность, что в обеих коллекциях будет запись с одинаковым айдишником, например {"_id": "60240ae64fbb9d0b4441aa39"}
Anonymous
Нет конечно же, id у монги это на базе времени, а значит в одном мс времени не могут быть две записи одновременно.
Не совсем так. А) Разрешение времени в id - одна секунда, поэтому штамп времени может оказаться одним Б) id генерится драйвером клиента и для снижения вероятности коллизий младшие байты состоят и рандомного значения + рандомно инициализированного инкрементального счетчика. Если учесть это, то теоретически два одинаковых id возможны в случае вставки разными клиентами, но на практике такая вероятность ничтожно мала.
Anonymous
Но id можно и самому генерить, это другая история, тут все зависит от реализации ПО
Hamdam
Ребят может знаете где можно найти материалы по теме firebase auth / mongodb?
Jamal
привет. почему такая ошибка выскакивает, когда пытаюсь открыть mongo в консоль?
Jamal
тут есть кто нибудь?
Aʙduxᴀlilᴏv ☾
тут есть кто нибудь?
Дохлое коммьюнити
Максим
как, где?
Я не знаю где в виндовс логи монги, может в документации написано?
Jamal
И сервер монги вообще запущен?
это которое по команде mongod?
Харамбус
в смысле?
Написано caused by “?????? ?????? ????”
Jamal
Написано caused by “?????? ?????? ????”
ну да... а что как ошибку делать?)
Харамбус
Хз
Харамбус
У тебя винда на рус наверное
Jamal
+
Максим
Jamal
да
Максим
да
Попробуй с гитбаша выполнить команду монго
Jamal
та же фигня
Максим
та же фигня
Если сообщение не прочитать тогда нужно искать логи. В общем написано что подключиться не удалось. По каким причинам не ясно
Максим
Может сервер не запущен. Ты только установил?
Максим
Или уже пользовался?
Jamal
для курса по ноду нужен был)
Jamal
там курс 2014 года от Специалист ру
Jamal
там у него вообще таких проблем нету
Андрей
привет люди! как сделать условие допустим в $in: [aDoc, bDoc], если докB не найден то не выводить и docA ? спасибо
Андрей
and
а можно подробнее? я пока нуб ) мб линк на доку или пример явный? спс
Андрей
$and: [ $in ?
­
там у него вообще таких проблем нету
Ну так ты установи монго не по Курсу а как в оф.доке написано и не будет таких проблем. А если будут то я вангую что тупо порт занят
Андрей
https://mongoplayground.net/p/xTTlIJhHmbM почему выдает 2 документа? как сделать чтобы выдавал только 1 где есть совпадения ?
Андрей
Подскажите плиз )
Google
Всем привет можете помочь есть find там я должен из базы искать с 17,04,2021 до 22,05,2025 но так поподает ниже даты тоже
Google