Null
pymongo.errors.ConfigurationError: All nameservers failed to answer the query _mongodb._t###.mongodb.net. IN SRV: Server 8.8.8.8 UDP port 53 answered [Errno 101] Network is unreachable;
Null
pymongo.errors.ConfigurationError: All nameservers failed to answer the query _mongodb._t###.mongodb.net. IN SRV: Server 8.8.8.8 UDP port 53 answered [Errno 101] Network is unreachable;
Сервак стоит в Москве. Нужно сменить? Что у Вас там в России? Даже на 8.8.8.8 днсу нет доступа?
Astik
Это может быть из за 2 причин 1. Интернет 2. IP адрес
камил
Привет, как можно по regex найти город? Допустим город: санкт-петербург Мне нужно, чтобы при вводе спб или санкт петербург, находило санкт-петербург
M
всем привет
M
где в лк можно посмотреть <password> "mongodb+srv://developermars0:<password>@cluster0.dvgnd.mongodb.net/myFirstDatabase?retryWrites=true&w=majority"
Морозов
Добрый день. Подскажите, пожалуйста, как добавить в коллекцию данные о времени создания существующих документов? .updateMany({}, {$set: {Date:new Date(_id.getTimestamp())}},{upsert:true}) не работает.
Nick
Добрый день. Подскажите, пожалуйста, как добавить в коллекцию данные о времени создания существующих документов? .updateMany({}, {$set: {Date:new Date(_id.getTimestamp())}},{upsert:true}) не работает.
Используемый метод getTimestamp вернет значение у _id которое сейчас в коде есть, а не возьмет значение у документа во время выполнения запроса на бд. Плюс в обычном апдейте нельзя обращаться к значениям полей. Вам нужен апдейт с агренацией для вычисления значений по другим полям https://docs.mongodb.com/manual/tutorial/update-documents-with-aggregation-pipeline/
Artem
Как можно сделать инкремент или создание для вложенного документа в массиве? Если он есть, увеличить поле в нем, если нет — создать вложенный документ. Проще говоря — нужно arrayFilters + upsert, но upsert не для всего элемента, а для вложенного
Alex
Я верно понимаю, что на mongodb atlas можно только по факту инвойсы оплачивать? И нет возможности на счет денег закинуть? Есть альтернативы облачных бд где принимают крипту или можно на счет денег завести?
Морозов
Добрый вечер. Кто-нибудь получал на триггерах такую ошибку? "Field update failed TypeError: Cannot access member '_id' of undefined"
Морозов
Морозов
Или предоставь код.
const docId = changeEvent.documentKey._id;
Антон
$cond: {$if… $then…} Или …$ne: null С моб не оч удобно, но куда погуглить понятно 🙂
не получается никак проверить на существование поле, помогите плиз
morgan
внутри массива поле?
Антон
нет, внутри обьекта
morgan
тебе в аггрегации обязательно?
Антон
да нужно в аггрегации бывают записи такого вида amount: { from: 30000 }, и amount: { from: 50000, to: 5000000 },
morgan
если тебе нужно проверить наличие поля amount.to, то можешь просто ifNull попробовать
Антон
на from я делаю такую проверку "amount.from": { $gte: 10000, }, а на поле amount.to "amount.to": { $lte: 10000, },
morgan
https://docs.mongodb.com/manual/reference/operator/aggregation/ifNull/
Антон
нужно чтобы если нет поля amount.to, чтобы было true
morgan
Вот сюда глянь
Антон
да я смотрел) уже подсказали) не знаю как написать запрос)
morgan
пример объекта скинь
Антон
{ _id: ObjectId('620955159b5ecff887552dca'), amount: { from: 50000, to: 5000000 } }
morgan
{ "amount.to": { "$not": { "$exists": false } } } ?
morgan
{ "amount.to": { "$not": { "$exists": true } } }
morgan
В первом случае при отсутствии поля amount.to вернется только то, что с ним. Во втором - только то, что без него
Антон
а как совместить с $gte ?
Антон
нужно чтобы при отсутсвия поля amount.to запрос на gte выполнялся только по полю amount.from, а если поле существует то по двум полям gre
Антон
{ "amount.to": { "$not": { "$exists": true } } }
вот так норм работает, только если нет поля amount.to, результаты не получаются
morgan
{ "$or": [ { "$and": [ { "amount.to": { "$not": { "$exists": true } } }, { "amount.from": { "$gte": NumberInt(40000) } } ] }, { "amount.to": { "$not": { "$exists": false } } }, { "amount.to": { "$gte": NumberInt(50000) } } ] }
morgan
Как вариант
morgan
Вообще конечно коллекцию бы нормально проанализировать
morgan
Ну... обычно если нужны такие выверты через если/не если, то (с большой вероятностью) либо в коллекцию неправильно записываются данные, либо они неправильно оттуда получаются ;)
morgan
а, ну то есть - первое, неправильно пишутся
morgan
ну ладно
morgan
монга и не такое терпела
Антон
а что можно записать если данных в amount.to нету?
morgan
хотя бы (хотя бы!) amount.to: null
morgan
лучше бы, конечно, вывести всё в вариант amountMin / amountMax
Антон
лучше бы, конечно, вывести всё в вариант amountMin / amountMax
ну там что-то вроде этого, amountMin это amount.from
Антон
amountMax это amount.to
morgan
я имею в виду, отказаться от вложенного объекта
morgan
и обязательно записать значение типа null или булев тип, если ничего не нашлось
morgan
в любом случае - не важно
morgan
то, что парсится - обычно - временно
Антон
я имею в виду, отказаться от вложенного объекта
запрос будет быстрее проходить?
morgan
во-первых - да
morgan
во-вторых ещё и индекс быстрее будет
Антон
спасибо) учту)
pulsar9000
доброй ночи. подскажите, пожалуйста, как получить суммарную статистику по запросам в шардированную базу (каждая шарда из двух реплик)? корректно ли снимать serverStatus.opcounters с каждого mongos и потом суммировать?
Морозов
Добрый день. Напишите, пожалуйста, как красиво принтить в mongoshel(форматирование вывода есть?): .find().sort({_id:-1}).limit(1).forEach(function (doc){ print(doc._id.getTimestamp()) })
Морозов
.pretty() ?
Красиво, как в python
Alex
подскажите пожалуйста как сделать updateMany, чтобы у всех записей где scope: "TRANSACTION" заменилось на scope: "ADD_TRANSACTION"
USB type A
Что делать если пишет buffering timed out after 10000ms.?
Vitalik
Ребят, разрешите нубский вопрос: Смотрю видео по монго, и рассказчик обратил внимание, что все ключи должны быть строками, т.к. это джейсонподобный формат. Что логично, и во всем его уроке так и есть (первый скрин) Но далее начал смотреть про агрегейшн пайплайн, и там ключи уже не заключаются в кавычки (на втором скрине date, например) Можете пожалуйста подсказать, почему так, или ткнуть ссылкой может Спасибо
Vitalik
Vitalik
Ilya
Подскажите, нужно сделать чтобы запись жила определенное время. Читал про TTL Index, но он почему-то не работает, не так сделал
Vitalik
Потому что под капотом у mongo shell javascript, в котором ключи у объектов могут не заключаться в кавычки
Понял, спасибо. Просто автор видел обратил на необходимость кавычек внимание, а потом не стал их ставить. А если я пишу запросы внутри питона, через mongoengine, там кавычки получается будут обязательны?
Vitalik
да
Спасибо
USB type A
Морозов