Aryn
Значит правда нету )
https://stackoverflow.com/a/10434383 +
Anonymous
как объеденить документы?
Anonymous
мне нужно вывести список продуктов, и добавить поле fav, если он находится в избранных
Anonymous
@yatoba может ты знаешь как такое можно сделать?
Nick
мне нужно вывести список продуктов, и добавить поле fav, если он находится в избранных
Что значит объединить? Если есть просто доки и их нужно упаковать, то на стороне бд это $group+$push. Если факт избранности лежит еще гдето, то lookup+addFields для проверки условия что чтото подгрузилась
Anonymous
ну у меня есть колекция продуктов и избранных продуктов, нужно сделать выборку по продуктам, и добавить в нее поле fav
Anonymous
наверное lookup поможет
Anonymous
я же могу из него обратится к другой колекции
Anonymous
не могу допереть(
Anonymous
Для этого лукап и сделан
я могу в addFields дообавить поле и вставить в него булеан в зависимости от совпадений?
Anonymous
true | false
Anonymous
ща попробую
Anonymous
Да, используя $cond
https://mongoplayground.net/p/9IRp2Suqocl - как мне их связать теперь и проставить true | false
Anonymous
я как бы получил массивчик, но как теперь проставить true false
Anonymous
на основе этих массивов
Nick
можно как сверху вашего пайпа добавить, так и оставить как у меня. Также через $unset stage можно убрать теперь уже ненужный массив fav
Anonymous
спасибо огромное
Anonymous
$$REMOVE и $unset одно и тоже?
Nick
да, просто $unset это обратное для $addFields чтоыб в $project не перечислять все поля (ну точнее можно так думать)
Anonymous
понял спасибо
Anonymous
а почему агрегации так данные раскидывают, их можно каким-то образом объединить в products: [{name, id, isFav}] или же вообще получить [{name, id, isFav}]. Видел есть цикл в агрегациях, им это сделать, или можно как-то изящнее
Nick
а почему агрегации так данные раскидывают, их можно каким-то образом объединить в products: [{name, id, isFav}] или же вообще получить [{name, id, isFav}]. Видел есть цикл в агрегациях, им это сделать, или можно как-то изящнее
так соберите обратно полученные доки через $group в массивы через $push, но это ровно тоже самое что поулчить результат из монги и там уже будет этот массив по факту
Anonymous
как можно заспредить products
Anonymous
все я допер
Anonymous
это чет ваще хард
Igor
чаво его величество может желать?
Igor
ошибка синтаксиса?
Anonymous
попробуй убрать ObjectId
Igor
попробую
Igor
а как можно искать либо regex либо по текстовому индексу в одном запросе чтобы?
Anonymous
Igor
аггрегация?
Anonymous
вроде regex можноо обойтись
Anonymous
можно попробовать сделать переменную которую ты будешь вставлять запрос
Igor
нет полнотекстовый индекс важен чтобы регексом фулскан не учинить
Den
Подскажите, как искать по нескольким подстрокам?
Den
типа такого, но нужен поиск по каждой подстроке в массиве: options = { title: { $in: ['substr1', 'substr2'] } } }
Anonymous
Как взять переменные из верхнего уровня?
Anonymous
l1njan
@dd_bb
Anonymous
всем привет, есть коллекция на пару миллионов записей такого вида, как мне удалить те записи в которых повторяется url и оставить только уникальные, без повторов?
Dmitry
всем привет, есть коллекция на пару миллионов записей такого вида, как мне удалить те записи в которых повторяется url и оставить только уникальные, без повторов?
https://coderoad.ru/9337123/%D0%9A%D0%B0%D0%BA-%D1%8F-%D0%BC%D0%BE%D0%B3%D1%83-%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C-%D0%B4%D1%83%D0%B1%D0%BB%D0%B8%D0%BA%D0%B0%D1%82%D1%8B-%D0%B2-MongoDb#17080569
Den
Регуляркой в монго
Подскажи. $regex не подходит
Dmitry
Подскажи. $regex не подходит
$or и две регулярки
Aryn
@mxxnseat ((
Aryn
#mongodb Случилась беда, помогите пожалуйста. Выводит: 1 2 3 4 5 Хотя, отдаёт True <pymongo.cursor.Cursor object at 0x000001D96D5CCE48> При итерации ничего не отдаёт. (for item in cursor) Запрос: have_next, cursor = db.get_survey( user_id = 123, sort = ['_id', -1], skip = 5 * 1, limit = 5, check_next = True )
Den
$or и две регулярки
так? options.title = { $or: [{ $regex: 'substr1', $options: 'i' }, { $regex: 'substr2', $options: 'i' }] } Пишет Error: Can't use $or with String. То же самое, если options.title = { $or: [ { $regex: new RegExp(/img/), $options: 'i' }, { $regex: new RegExp(/tst/), $options: 'i' }, ], }
Den
ну как бэ /img|tst/i
хочешь сказать, опция для запроса должна выглядеть так? options.title = { $regex: /img|tst/, $options: 'i', }
Ilya
хочешь сказать, опция для запроса должна выглядеть так? options.title = { $regex: /img|tst/, $options: 'i', }
насколько я помню, то флаги в самой регулярке можно указывать
Hellomik
хай можете помочь с replica set я пытаюс создать базу которая ее поддерживает что слушать изменение
Hellomik
но что вообще худа
Hellomik
вот docker-compose version: '3.8' services: mongodb: image: mongo container_name: 'mongodb-timeapp' restart: always environment: MONGO_INITDB_DATABASE: 'timeapp' MONGO_INITDB_ROOT_USERNAME: 'admin' MONGO_INITDB_ROOT_PASSWORD: '4c1ba9a0-1add-4837-bfae-7fe489f8f37c' REPLICA_SET_NAME: 'typesense-rep' ports: - 27017:27017 volumes: - /Users/hellomik/mongo-data-test:/data/db
Roman
Ошибка какая?
Hellomik
Ошибка какая?
Cannot use non-local read concern until replica set is finished initializing."
Hellomik
видимо repl set номр не ставиться
Hellomik
это когда я делаю так
Hellomik
mongodb: image: mongo container_name: 'mongodb-timeapp' restart: always environment: MONGO_INITDB_DATABASE: 'timeapp' MONGO_INITDB_ROOT_USERNAME: 'admin' MONGO_INITDB_ROOT_PASSWORD: '4c1ba9a0-1add-4837-bfae-7fe489f8f37c' REPLICA_SET_NAME: 'typesense-rep' ports: - 27017:27017 volumes: - /Users/hellomik/mongo-data-test:/data/db - /Users/hellomik/mongo-data-tes1/mongod.conf://mongod.conf command: ['--replSet']
Aryn
#mongodb Случилась беда, помогите пожалуйста. Выводит: 1 2 3 4 5 Хотя, отдаёт True <pymongo.cursor.Cursor object at 0x000001D96D5CCE48> При итерации ничего не отдаёт. (for item in cursor) Запрос: have_next, cursor = db.get_survey( user_id = 123, sort = ['_id', -1], skip = 5 * 1, limit = 5, check_next = True )
Aryn
Хелп(
Aryn
@mxxnseat ))
Anonymous
та я зеленный
Anonymous
так правильно же выводит нет?
Anonymous
мб оно не кидает ошибку?
Anonymous
просто выводит ее
Anonymous
че возращает метод next в случае если нету документа
Anonymous
Нет
null?
Anonymous
или какой у вас в вашем питоне тд
Aryn
null?
Да
Anonymous
так а как он у тебя в катч попадет?