Aleksey
господа а на сколько на этот механизм можно полагаться ? https://docs.mongodb.com/manual/reference/method/ObjectId.getTimestamp/
yopp
В чём?
yopp
Так-то в теории оно 100% верный результат должно возвращать :) Только надо учитывать что ObjectId где угодно генерируется и время соотвественно будет от того самого «где угодно» зависеть.
Aleksey
там будет возрастающе время ? таймстапм будет нормально работать после переключения мастеров
yopp
От часов зависит
Yaroslav
подождем - посмотрим
yopp
Ты этот документ читал вообще?
Yaroslav
конечно
Yaroslav
2 года назад
Михаил
Всем привет. Из правил группы не понятно можно ли тут вакансию опубликовать?
Aleksey
как обычно. по теме и с вилкой.
Михаил
По вилке к сожалению не могу точно сказать. Ищет знакомая с релокейтом в NY. Ищут DB Developer. Mongodb plus sql queries, plus some db administration. Не обязательно должен быть гуру, но с головой и возможностью выехать. И естественно знание английского. Прошу камнями не кидать)
yopp
так вы ей написали бы сначала
tenni
без вилки это выглядит как спам.
Михаил
Уточняю
Михаил
Up to 30$ per H там все от интервью зависеть будет
Кирило
Подскажите, как правильно хранить картинки нынче,загруженные пользователями?
Yaroslav
я храню в фаловой системе, в документах храню только ссылки на файлы. но если есть желание используй gridfs. я попробовал - както не пошло мне. file storage показался более эффективным. если cloud, то соответствующий сервис. если in house, то просто на локальном сервере или в локальной сети. в случае репликации синхронизируй file storage (есть достаточно тулзовин для любой ОС).
Кирило
Спасибо. Вообщем, если нет своего сервера, то облако
Anonymous
#mongoDb Мне необходимо взаимная вставка в массивы двух юзеров. id второго юзера вставить в массив "читаемые" у первого, и id первого в массив "подписчики" у второго юзера. можно ли использовать insertMany и $push ? или нужно делать два отдельных запроса ?
yopp
два запроса
yopp
«взаимная вставка в массивы двух юзеров» это не insert, это update
yopp
операции изменяют два документа, так что не будут атомарными в любом случае
Yaroslav
операции изменяют два документа, так что не будут атомарными в любом случае
это да, но updateMany можно использовать, что-бы одним запросом все сделать.
yopp
обнови два разных документа в одном updateMany запроса _разными данными_ пожалуйста
Anonymous
так ?
Anonymous
yopp
да, только вместо $push лучше использовать $addToSet
yopp
иначе у тебя там дубликаты будут
Anonymous
Yaroslav
обнови два разных документа в одном updateMany запроса _разными данными_ пожалуйста
ну например (из реального проекта, название коллекции изменено): db.getCollection('data').update( { _id: { $in: [ObjectId("587906af7bce5717cb87e129"), ObjectId("5879085e7bce5717cb87e12a")]}}, { $bit: { active: { xor: NumberInt(1) }}}, { multi: true } )
Nick
а где "разные данные"?
yopp
Два разных id пользователя
Yaroslav
а где "разные данные"?
я может не так задачу понял, но менять разные документы одним updateMany вполен можно.
Yaroslav
а еще не было пробелмы, что один из доков был изменен между применениями твоего апдейта?
в даном случае это невозможно по логическим причинам. может быть только сбой апдейте, потому что атомарности операции таки нет.
Nick
у тебя там тольк опарами все меняется? а можно дважды на одну и ту же пару сынициирвоать такой апдейт?
yopp
И ещё раз: в два документа, в разные поля нужно вставить разные данные. Твой запрос просто обновляет несколько документов
Yaroslav
И ещё раз: в два документа, в разные поля нужно вставить разные данные. Твой запрос просто обновляет несколько документов
ок, я не так понял. тогда bulkWrite. хотя сейчас подумаю, может какой-то пример придумаю и с updateMany:)
yopp
так bulkWrite это просто несколько запросов сгруппированные в один roundtrip в базу
Yaroslav
я знаю. но updateMany тоже атомарность не обеспечивает а выполняется последовательно до первого сбоя. при ексепшине все ранее сделаные апдейты сохраняються.
Nick
да, меняеться парами. можно. если я правильно тебя понял:).
если только парами то не особо критично но единовременно ты будешь иметь что у обоих документов не выставлены флаги и для внешнего наблюдателя чтото может сломаться
Yaroslav
это да. раньше была внешняя коллекция для хранения указателя на активный документ, тогда активность менялась атомарной операцией. но там были свои неудобства.
Anonymous
Всем привет! Как можно использовать $let в $match?
Yaroslav
$let в $match можно юзать обычным способом: в aggregation pipeline в $project определяешь новые поля с помощью $let и потом используешь эти поля для фильтрации в $match. тебя это интересует или что-то другое?
Anonymous
Я хотел в $match с помощью $let подменить current на дочерний объект, но уже по другому реализовал.
Yaroslav
ок
Vishnuprasad
Hey russian boys
Vishnuprasad
Speak in English
Nick
ask
Talgatio
Ребята как сделать update в терминале?
Talgatio
db.collection.update({email:email@test.com},{$set: {active: 0}})
Nick
заэкранируй
Nick
кавычками
Nick
"
Talgatio
заэкранируй
экранирую
Nick
а может ошибки пишет?
Nick
https://docs.mongodb.com/manual/reference/method/db.collection.update/
Nick
у тебя явно не хатает опций
Nick
либо используй updateOne или updateMany
Talgatio
сорри
Talgatio
цифры тоже екранировать?
Nick
нет, экранирвоанная цифра становится строкой
Nick
но тут могу наврать)
Talgatio
жесть
Nick
привет жаваскрипту))
bratela
Подскажите пожалуйста! Как Mongodb соединить с Rudy?
Roman
https://api.mongodb.com/ruby/current/
bratela
https://docs.mongodb.com/ruby-driver/master/quick-start/#make-a-connection Спасибо!
Anonymous
Всем привет, короткое id значение будет считаться за оптимизацию document storage?
yopp
зачем?
Anonymous
зачем?
11. How can you optimize document storage? Answers: • (All of these) • Specify an explicit, smaller _id value • Use shorter field names within documents • Embed small documents within other documents
Anonymous
Такие дела
Anonymous
Последний же вариант?