Roman
Там есть поиск по regexp
Alexander
В MongoDB-то да, но как его использовать средствами Golang?
Roman
https://godoc.org/go.mongodb.org/mongo-driver/bson/primitive#Regex
Alexander
Да, я понял, что нужно юзать primitive, но как конкретно, не понял
Alexander
Я нагуглил вот что: https://stackoverflow.com/questions/55740288/how-to-write-mongodb-query-for-regex-in-golang-using-bson
Alexander
но смысл не понимаю
Roman
https://github.com/mongodb/mongo-go-driver/blob/51421e413403fe3c9b0097147841f752421133e4/examples/documentation_examples/examples.go#L293
Roman
Вот официальный пример
Alexander
ничего не понятно в нём
Denis
В MongoDB-то да, но как его использовать средствами Golang?
Оператор $regex может принимать строчку простую
NCR
Товарищи, можно ли одним запросом сделать $in и $regex? Нужно найти подстроку в коллекции со строками, но при этом есть несколько искомых подстрок
Max
Приветствую! Подскажите, есть ли какие-то причины не использовать в названии БД дефис, например my-project? Почему в названиях коллекций плохо использоавть дефис, это ясно. А есть ли какие-то проблемы в дефисе и названии БД?
NCR
$in ожидает массив
NCR
а массив не ожидает $regex
Мирас
{$in:[], $regex: // } нет? Или я неправпльно понял вопрос?
Eldor
Eldor
Как могу достать все links которы заканчивается с version 1.2.2 или содержит
Eldor
?
Eldor
Зарание спасибо
N
Здравствуйте, есть вот такой запрос: err = collection.FindOne(context.TODO(), bson.D{{"tokens", bson.M{"$elemMatch": bson.D{{"accessToken", "123"}}}}}).Decode(&result) как использовать projection? Нужно, чтобы возращалась айдишка документа и тот его объект из его массива у которого поле accessToken совпадает?
NCR
{'wordPage.links': {$regex: 'version=1.2.2'}}
Taras
Всем привет как подключить монгодб к нестжс? Я пробую через команду sudo mongod кидает ошибку что нету папки где то дата дб
Taras
Все я оказывается подключил просто не то делал
N
Вот вопрос, аналогичный вашему https://stackoverflow.com/questions/3985214/retrieve-only-the-queried-element-in-an-object-array-in-mongodb-collection
Спасибо, этот вопрос решил, сейчас у меня другой вопрос на повестке дня) Как обновить конкретный документ в массиве документов?
N
result, err := coll.UpdateOne( context.Background(), bson.D{ {"item", "paper"}, }, bson.D{ {"$set", bson.D{ {"size.uom", "cm"}, {"status", "P"}, }}, }, ) Мне нужно что-то похожее на это, но только обновлять только если соответстует определенному условию
Roman
Вот еще https://docs.mongodb.com/manual/reference/operator/update/positional-filtered/
Taras
Только я так и не понял почему у меня через sudo mongod не запускалось...
Гена
всем привет подскажите, если я включаю профайлер а запросы на чтение идут на секондари, профайлер поймает их?
N
Вот еще https://docs.mongodb.com/manual/reference/operator/update/positional-filtered/
я не понял, а как их использовать в godriver
Ilya
привет всем, у меня вопрос про lookup, подскажите в ключ "from" как правильно положить название коллекции? у меня есть модель mongoose.model('Task_Priority', taskPrioritySchema); она в сервисе mlab выглядит как task_priorities когда указываю ее в lookup { $lookup: { from: 'task_priorities', localField: 'priority', foreignField: '_id', as: 'priorityDetails', }, }, то прилетает в priorityDetails пустой массив
Roman
А у вас точно поле priority содержит айди?
Ilya
[{ "_id": { "$oid": "5f15939e201fc30c7864efd5" }, "label": "124124124214", "color": "#bd10e0", "description": "", "createdAt": { "$date": "2020-07-20T12:52:46.555Z" }, "updatedAt": { "$date": "2020-07-20T12:52:46.555Z" }, "__v": 0 }]
Ilya
вот такая коллекция
Roman
Это коллекция task_priorities?
Ilya
да, именно так
Roman
А как выглядит коллекция, к которой вы делаете lookup?
Ilya
[{ "_id": { "$oid": "5f1594dfefafbc11884b0be5" }, "users": [], "name": "124124214", "shortName": "MGFOMS-11", "description": "124124124", "priority": "5f1594a7efafbc11884b0be3", "type": "5f05c503269de13b7cdfb26c", "project": { "$oid": "5f05c45e1f878c2b6475304c" }, "state": { "$oid": "5f05c4f1269de13b7cdfb26a" }, "__v": 0 }]
Ilya
[{ "_id": { "$oid": "5f1594a7efafbc11884b0be3" }, "label": "124124214", "color": "#bd10e0", "description": "", "createdAt": { "$date": "2020-07-20T12:57:11.573Z" }, "updatedAt": { "$date": "2020-07-20T12:57:11.573Z" }, "__v": 0 }]
Ilya
первая коллекция это та к которой я делаю запрос
Ilya
const response = await Task.aggregate([ { $match: { project: mongoose.Types.ObjectId(projectId), }, }, { $lookup: { from: 'task_priorities', localField: 'priority', foreignField: '_id', as: 'priorityDetails', }, }, ]);
Ilya
а вот запрос
Roman
Похоже на то, что проблема в том, что у вас priority - это строка, а не objectID
Ilya
да, спасибо, вы правы
Ilya
у меня правда еще 1 вопрос
Ilya
как можно в поле указать что либо там ObjectId либо ничего?
no
а реально ли получить количество результатов из aggregate, не получая все документы?
Roman
Добавить count?
Roman
https://docs.mongodb.com/manual/reference/operator/aggregation/count/
no
https://docs.mongodb.com/manual/reference/operator/aggregation/count/
спасибо)) смотрел, но не увидел. вы скинули, пригляделся и заметил))
no
подскажите, почему так медленно выполняется запрос? в definitions всего 30 000 документов, P.S. filter = {} (пустой объект)
Yaroslav
Yaroslav
И каково отношение definition к posts (один ко многим, один к одному, многим ко многим)?
no
Post.js
no
И каково отношение definition к posts (один ко многим, один к одному, многим ко многим)?
Есть список из определений (definitions). Также есть список постов (posts). Каждый документ-пост всегда содержит definition. Тут хочу выбрать definitions, для которых ещё не создан post
Yaroslav
Есть список из определений (definitions). Также есть список постов (posts). Каждый документ-пост всегда содержит definition. Тут хочу выбрать definitions, для которых ещё не создан post
Попробуй два запроса, первым из posts вытянуть все definitions id, вторым выбрать defeteinios у которых {_id : {$nin:[массив id из сперового запроса ]}}
Yaroslav
Lookup достаточно затратная операция
no
О, кстати)
no
Спасибо)
Denis
Как изящно отсортировать документы по убыванию кол-ва любых полей в документе { z: ‘’, b: ‘’ } будет выше чем { a: ‘’ } Нагуглил $bsonSize, только так? Он только в 4.4
Stanislav
Добрый день. Стараюсь пройтись по внутреннему списку и там найти подстроку в строке. db.getCollection('tasks').find({ for(i = 0; i < $messages.size; i = i + 1){ let v = $messages[i] if($messages[i].body.includes('136805') != false){ } } }) Что я не так делаю?(
Vladimir 🧙‍♂️
Всем привет! Есть проблема с коннектом Intellij Idea с Document DB через SSH tunnel. Есть ли тут кто-нибудь, кто занимался таким? Ошибка примерно следующая: com.mongodb.MongoTimeoutException: Timed out after 10000 ms while waiting to connect. Client view of cluster state is {type=UNKNOWN, servers=[{address=localhost:64562, type=UNKNOWN, state=CONNECTING, exception={com.mongodb.MongoSocketReadTimeoutException: Timeout while receiving message}, caused by {java.net.SocketTimeoutException: Read timed out}}].
Konstantin
хех, делаю дамп 2 лямов записей монги. можно ли как то ускорить этот процесс? или делать бэкапы по другому??
Konstantin
это sftp проводник
Андрей
Так а что ускорить нужно? Процесс выполнения бэкапа с тем, что изображено, никак не связан как бы.
Konstantin
да нужно ускорить процесс
Андрей
Процесс чего - копирования файлов по сети?
Konstantin
Процесс чего - копирования файлов по сети?
ну мне просто нужно как то бэкапы делать
Konstantin
чтобы оно было быстро
Андрей
Ну быстрое железо и каналы вам в помощь. Я не могу понять, если честно, в чем проблема. Информации, кроме окна winscp, которое к процессу выполнения бэкапа никак не относится, ноль.
Vladimir
ну мне просто нужно как то бэкапы делать
самое быстрое это останавливаешь монгу и рсинкаешь все файлы, потом запускаешь
Vladimir
но не очень переносимо