S.
S.
Alexandrr
лучше использовать логический тип данных для идентификации параметров, если параметры предполагают односложные значения типа да/нет, так как он будет быстрее всего обрабатываться.
boolean в go использует 8 бит
S.
Alexandrr
Tony
Tony
Alexandrr
а при чём тут какой-то интерпретатор и офф. дока типов данных языка?
хотя да, нашёл, получается ошибся, моя вина
Tony
Alexandrr
Ilya
Nick
success
Здравствуйте всем! Вопрос, как из этой коллекции, найти сам документ с определённым id, и потом же в этом документе найти из массива другой элемент с определённым id. Грубо говоря, вложенные find. Если можно, то просто пример не рабочий
Sardor
Maxmudjon
Здравствуйте всем!
при агрегация
group: {
_id: {
$month: “$created_at”,
region: “$region” // не даёт группироват
}
}
не удается группировать по месяцам и регионам (регион ObjectID)
success
find({_id:x, "courses._id":y})
Thanks! As i got it, it will execute in order? Firstly _id, secondly coursed._id? And if first is failed, i mean _id, then second, i mean courses._id will not execute?
Sardor
Sardor
.find({condition1, condition2,condition3,...conditionX}) is like if(condition1 && condition2 && conditionX)
Dmitry
success
ASAP
Не резолвился промапленный список, он вообще без изменений остается почему-то, решил переписать на такой вариант, но тоже нет эффекта? Что я не так делаю?
ASAP
ASAP
Всем привет, подскажите пожалуйста, что в таком случае делать? пробовал lean() и toObject без exec(), результат тот же...
Dmitry
Dmitry
Dmitry
И вообще от конструкции Promise можно отказаться
Ihor
Ребят, подскажите плс как организовать свертку следующей структуры:
[[{"action_type": "offline_conversion.custom.1006568950316076", "value": "2"}, {"action_type": "offline_conversion.custom.3336172393264863", "value": "1"}], [{"action_type": "offline_conversion.custom.1006568950316076", "value": "2"}, {"action_type": "offline_conversion.custom.3336172393264863", "value": "1"}]]
Что бы в результате получить такой объект:
{"offline_conversion.custom.1006568950316076": 4, "offline_conversion.custom.3336172393264863": 2}
Dmitry
Ihor
$group и возможно перед этим $unwind
Дело в том что эти данные уже сгрупированы. Если повторить процедуру и сгрупировать по action_type - поломаюся результат.
Можно ли reduce например применить?
Dmitry
Ребят, подскажите плс как организовать свертку следующей структуры:
[[{"action_type": "offline_conversion.custom.1006568950316076", "value": "2"}, {"action_type": "offline_conversion.custom.3336172393264863", "value": "1"}], [{"action_type": "offline_conversion.custom.1006568950316076", "value": "2"}, {"action_type": "offline_conversion.custom.3336172393264863", "value": "1"}]]
Что бы в результате получить такой объект:
{"offline_conversion.custom.1006568950316076": 4, "offline_conversion.custom.3336172393264863": 2}
Так вы один фиг, хотите в конечном результате другой ответ
Dmitry
Dmitry
$sum можно использовать
Maxim
Коллеги, добрый день
пишу аггрегационный пайп, использую язык Go, прошу вашей помощи
задача - дан список "категорий", сгруппировать по полю "категория" и посчитать 1) все файлы и 2) файлы за промежуток времени
Как сделано:
2 запроса:
1 - для периода времени) input: gte, lte
$unionWith все нужные категории
$match определяем критерий выборки
$group по полям дата + категория (тут идет подсчет файлов)
$project создаю проект
2 - для всех файлов посчитать сгруппировать по полю категория и посчитать
$unionWith все нужные категории
$group по полю категория (тут идет подсчет файлов)
$project создаю проект
что хотелось бы - как-то это всё сделать за один запрос
подскажите плз, возможно ли это и в какую сторону копать?
думал про группировку по полю категория, создать проект, потом сгруппировать по датам и создать еще один проект и заэмбеддить первый во второй, но сколько гуглил ничего не нашёл
п.с. не ругайтесь плз, если где-то в терминах монго путаюсь, третий день всего лишь с ней знаком
п.п.с если вдруг что-то невнятно объяснил, но при этом у вас есть желание мне помочь, готов ответить на любые вопросы
Ihor
Изначально данные лежат в таком виде.
Каждая запись - 1 день.
Нужно узнать, например сумму link_clicks для определенной campaignId за выбранный период.
Alexandrr
Sergey
пацаны, слушайте, а как отшардировать назад?) может был у кого опыт?)
Ihor
Как при $replaceRoot отобразить остальные поля в документе?
Я знаю что можно перечислить через $project, но у меня поля формата: "foo.bar.{что-то}" по-этому заранее не известно что писать в $project. $replaceRoot выглядит как решение, но нужны остальные поля.
Ihor
Понял, смержить нужные поля из основы во вложеный документ и тогда уже $replaceRoot 🤔
Maxim
Коллеги, добрый день
пишу аггрегационный пайп, использую язык Go, прошу вашей помощи
задача - дан список "категорий", сгруппировать по полю "категория" и посчитать 1) все файлы и 2) файлы за промежуток времени
Как сделано:
2 запроса:
1 - для периода времени) input: gte, lte
$unionWith все нужные категории
$match определяем критерий выборки
$group по полям дата + категория (тут идет подсчет файлов)
$project создаю проект
2 - для всех файлов посчитать сгруппировать по полю категория и посчитать
$unionWith все нужные категории
$group по полю категория (тут идет подсчет файлов)
$project создаю проект
что хотелось бы - как-то это всё сделать за один запрос
подскажите плз, возможно ли это и в какую сторону копать?
думал про группировку по полю категория, создать проект, потом сгруппировать по датам и создать еще один проект и заэмбеддить первый во второй, но сколько гуглил ничего не нашёл
п.с. не ругайтесь плз, если где-то в терминах монго путаюсь, третий день всего лишь с ней знаком
п.п.с если вдруг что-то невнятно объяснил, но при этом у вас есть желание мне помочь, готов ответить на любые вопросы
попробую задать вопрос попроще
подскажите, плз, я могу при агрегации сделать два проекта и заэмбеддить первый во второй? 🙂
Роман
я думал что уже достаточно знаю монго, но когда зашёл сюда, я перестал так думать
Dmitry
Aleksey
Всем большой привет!)
Задеплоил монгу в кластер K8s, настроил фаерволы, так же манифестов открыл порт для внешних подключений
apiVersion: v1
kind: Service
metadata:
name: mongo-service-replica-0
labels:
name: mongo
namespace: mongo
spec:
type: NodePort
ports:
- port: 27017
targetPort: 27017
nodePort: 31000
selector:
statefulset.kubernetes.io/pod-name: mongo-0
Но при подключении через MongoDB Compass таймаутит подключение, вот логи с поды
2023-01-24T13:23:28.650+0000 I NETWORK [listener] connection accepted from 10.114.0.7:49924 #18 (1 connection now open)
2023-01-24T13:23:28.651+0000 I NETWORK [conn18] received client metadata from 10.114.0.7:49924 conn18: { driver: { name: "nodejs", version: "4.13.0" }, os: { type: "Darwin", name: "darwin", architecture: "x64", version: "21.6.0" }, platform: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application: { name: "MongoDB Compass" } }
2023-01-24T13:23:18.444+0000 I NETWORK [conn17] end connection 10.114.0.7:33395 (0 connections now open)
Aleksey
Притом, что на других серверах в таких же кластерах всё работает
Aleksey
Дали наводку что как-то можно коннектиться стендэлоун, а не к репликасету, но что-то не разобрался как это сделать
Aleksey
Может кто-то из вас решал такой кейс как настроить основной узел?
Aleksey
Обсудим, если с монгой поможешь
Alexandrr
Всем большой привет!)
Задеплоил монгу в кластер K8s, настроил фаерволы, так же манифестов открыл порт для внешних подключений
apiVersion: v1
kind: Service
metadata:
name: mongo-service-replica-0
labels:
name: mongo
namespace: mongo
spec:
type: NodePort
ports:
- port: 27017
targetPort: 27017
nodePort: 31000
selector:
statefulset.kubernetes.io/pod-name: mongo-0
Но при подключении через MongoDB Compass таймаутит подключение, вот логи с поды
2023-01-24T13:23:28.650+0000 I NETWORK [listener] connection accepted from 10.114.0.7:49924 #18 (1 connection now open)
2023-01-24T13:23:28.651+0000 I NETWORK [conn18] received client metadata from 10.114.0.7:49924 conn18: { driver: { name: "nodejs", version: "4.13.0" }, os: { type: "Darwin", name: "darwin", architecture: "x64", version: "21.6.0" }, platform: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application: { name: "MongoDB Compass" } }
2023-01-24T13:23:18.444+0000 I NETWORK [conn17] end connection 10.114.0.7:33395 (0 connections now open)
дарвин? на винде попытка запуска?
если да, тогда стоит посмотреть в сторону брандмауэра или как он там зовётся
Aleksey
Aleksey
А кто с монгой работал и выбирал праймери поду?
Я случайно сделал rs.initilize() без аргументов и сейчас пытаюсь добавить пути к другим подам, как это можно сделать?
Shell
Подскажите пожалуйста, что тут не так:
Использую вот такой compose и подключаюсь uri: 'mongodb://admin:admin@localhost:27017', но мне шлет ошибку UserNotFound: Could not find user \"admin\" for db \"admin\"
Aleksey
Напиши в chatgpt
Aleksey
Он тебе расскажет как надо юзера создать
Aleksey
Я не токсик, он мне тоже говорил, я не запомнил прост)
Sergey
Подскажите пожалуйста, существует ли способ вернуть количество найденных документов?
db.collection.find(query, projection, options)
Находит документы, нужно знать количество..
Nick
Sergey
Count()
должно работать db.collection.count(db.collection.find(query, projection, options)) ?
𝔏𝔢𝔯𝔬𝔶
просто .count
Nick
в базе _id какой тип имеет?
Nick
тогда как вы собираетесь применить регулярку к числу? ее можно только к строкам
Nick
заводите рядом поле в строковом виде и ищите по нему, либо меняйте тип _id
Nick
а с чего вообще потребность искать наличие единицы в идентификаторе?
Nikita
с
C
Как можно реализовать запрос где у меня N-ключей, каждый из них массив и он может быть равен условному [0] или $in [2,3] к примеру? конструкцию типа key: {$or:[...]} монга не умеет
Dmitry
Dmitry
Покажите примерную структуру данных и что на выходе хотите получить
C
Т.е. $or:[{a:{$all: [1,2]}}, {a: []}]
C
Но когда ключа два, то уже придется каждое старое условие модифицировать + добавлять новые. И если ключей для поиска 5, то этих условий внутри уже будет 20+ точно(придется же все возможные варианты явно происать и указать)
Dmitry
Dmitry
Больше ничего на ум не приходит, чтобы перебрать всё поля, не задавая сразу в условии их