Bro
iwahid
Ребят, привет. Подскажите, пожалуйста, как создать коллекции в коллекциях на ноде через монгус?
Нужны под коллекции
Eva🇺🇦
Привет! Как лучше всего обратиться к бд, чтобы миллион запросов не повалил ее? В каком направлении копать?
Nikita
миллион в секунду?:)
Nikita
bulk, sharding, replicas, queue, indexing, perf-testing
если направления:)
а так нужно больше подробностей о характере запросов и задачи
Nikita
findAll $in: ids ? :)
Nikita
ой, смешалось со спрингом
find $in
https://docs.mongodb.com/manual/reference/operator/query/in/
Nikita
но я не уверен что дергать на 1кк элементов будет оптимально, так же как тянуть 1кк в прилагу
Oleg
можно ли сделать, чтобы поле реферал после lookup, не было массивом? или это норм поведение и его не избежать
Dmitry
Nick
можно ли сделать, чтобы поле реферал после lookup, не было массивом? или это норм поведение и его не избежать
так работает lookup, для него не имеет значения один к одному там или нет, просто формирует массив (может быть и пустым). Собственно выше уже сказали что можно использовать $unwind для разворачивания списка, но тут надо быть осторожным, т.к. если пустой список будет то ни одного дока это не породит. Если у вас известно что всегда будет только один объект, то можно через $project и $arrayElemAt вытащить объект с нулевого места и сохранить в какоето поле. Не знаю что будет если элемента там не будет, тут поэкпериментируйте или проверьте размер массива через $cond и $size прежде чем обращаться к элементу массива
Oleg
Niki ️
Подскажите можно в индекс запихнуть кастомную валидацию?
Aryn
КРАСАВА!
Спасибо))
@mxxnseat, а как достать все элементы из members?
Anonymous
а какой аутпут?
Artem
Всем привет. Помогите с запросом к базе если такое вообще реально реализовать. Хочу сделать поиск по ключевому слову, но в результаты поиска хочу вставить данные о количестве записей между результатами поиска(если это не соседние айдишки). Т.е если порядковые айдишки и в выдаче в поиске 1, 2, 7, то между вторым и третьим результатом надо показать, что там еще 4 записи присутствуют. Можно ли это реализовать без отдельного запроса в базу для каждого гэпа?
Nick
Nick
а как должен выглядеть результат примерно? какая струтктура должна получиться
Artem
что-то вроде
[
{type: “field”, _id: ObjectId(“guid”), value: “value1”},
{type: “gap”, count: 5},
{type: “field”, _id: ObjectId(“guid+5”), value: “value2”},
]
S
Всем привет! Подскажите плз как найти последний созданный или обновленный документ в коллекции?
S
S
Nick
Мағжан
всем привет!
Подобная ошибка говорит о том что колекция которая я хочу записать даныне не существует ?
Cannot create namespace *.* in multi-document transaction.
Мағжан
Кто может подсказать?🥺🥺🥺
Danil
Здравствуйте, тут же по motor pymongo помогают?
Ilya
Danil
Здравствуйте, тут же по motor pymongo помогают?
Если кто-то знает, как можно узнавать айди которое автоматически ставится в документ, мне нужно брать все значения из ключа "_id" из всех документов, кто-то знает как это реализовать? Или же это наверное не правильно, я просто хочу сделать рассылку, и пытаюсь использовать всё, но я уже везде обыскал, хочу попробовать брать все значения из всех документов коллекции, ключа _id, но не знаю как это реализовать, поможете?
Пол
Привет. $pull to a non-array value. Подскажите как тогда удалить значение из ключа. С одним objectId
Anonymous
.count() занимает 12 секунд
db.collection.count() не считает фактическое количество документов, он возвращает результаты на основе метаданных коллекции, что может привести к приблизительному подсчету.
Anonymous
https://docs.mongodb.com/manual/reference/method/db.collection.count/index.html
Anonymous
Для правильного различения в MonogDB введены countDocuments() и estimatedDocumentCount().
Danil
Ребят, а как сделать что бы каждого нового пользователя регестрировало с нумерацией типо "_id":
1
2
3
И тд
Данила
Just
Всем привет, как создать схему такого типа:
methods: {
["VK" || "TG" || "FB"]: Id,
}
Т.е. просто объект, где ключ - enum, Id - Number
Р00-👨🏻💻Михаил
Добрый вечер
Что быстрее выполняется? Или одинаково?
а) Аггрегация с подсчетом суммы коллекции продаж по временным интервалам
б) Фетч продаж в временной интервал и пробор суммы с помощью JS
artem
народ а можно ка-то сделать так чтоб данные в монге обнулялись в 10 часов утра по москве например?
artem
в плане просто ключи принимали значение 0
artem
т.е в течение для это значение накапливается
artem
а в 10 00 принимает 0
Dmitry
Это тебе нужен планировщик, который будет вызывать запрос, чтобы значения переписать
Oleg
кто подскажет, что за compound и зачем он создается?
Oleg
Oleg
Oleg
Viktar
с помощью него ещё достигается уникальность по этим полям
Dmitriy
Коллеги, поскажите пожалуйста, если сделать findOne {sort: [['_id', -1]]}, то это будет 100% что вернуться именно последняя добавленная запись?
Dmitriy
То есть не может быть такого что айдишник сгенерируется такой, что он по определнию будет меньше чем последний*
Dmitriy
Dmitriy
ну а вообще задача такая, что раз в сутки крон парсит курсы валют и добавляет запись в коллекцию с направлениями. И мне нужно что бы я всегда обращался к базе и при запросе мне выдавались последние добавленные данные.
Dmitriy
Ну я понял, если через mongodb то там строго) Спасибо!
Nick
Dmitriy
ну можно и так, но вообще проблем быть не должно)
Aryn
Не подскажите, в чём прикол?:
OperationFailure: Unrecognized pipeline stage name: '$unset', full error: {'ok': 0.0, 'errmsg': "Unrecognized pipeline stage name: '$unset'", 'code': 40324, 'codeName': 'Location40324'}
Aryn
Aryn
[{"$unwind": "$members"},
{"$match": {"members.count": {"$ne": 0}}},
{"$sort": {"members.count": -1}},
{"$limit": limit},
{"$group": {
"_id": None,
"members": {"$push": "$$ROOT"}
}},
{"$addFields": {"merge": {"$map": {
"input": "$members",
"as": "doc",
"in": {
"$mergeObjects": [
{"count": "$$doc.members.count"},
{"user_id": "$$doc.members.user_id"},
{"chat_id": "$$doc.chat_id"}
]
}
}}}},
{"$unset": ["members", "_id"]},
{"$unwind": "$merge"},
{"$replaceRoot": {"newRoot": "$merge"}}]
Aryn
None = null
На всякий
Aryn
Nick
[{"$unwind": "$members"},
{"$match": {"members.count": {"$ne": 0}}},
{"$sort": {"members.count": -1}},
{"$limit": limit},
{"$group": {
"_id": None,
"members": {"$push": "$$ROOT"}
}},
{"$addFields": {"merge": {"$map": {
"input": "$members",
"as": "doc",
"in": {
"$mergeObjects": [
{"count": "$$doc.members.count"},
{"user_id": "$$doc.members.user_id"},
{"chat_id": "$$doc.chat_id"}
]
}
}}}},
{"$unset": ["members", "_id"]},
{"$unwind": "$merge"},
{"$replaceRoot": {"newRoot": "$merge"}}]
версия монги?
Aryn
Aryn
Nick
Aryn
Aryn
Обычно запускаю БД через systemctl start mongodb
Nick
на 3.6 $unset в агрегациях не было еще, появился в 4.2
Aryn
Aryn
Aryn
пиздец замарочусь пока обновлю..
Nick
https://docs.mongodb.com/v4.4/administration/install-on-linux/
Oleg
Всем добрый вечер, можно ли как то запретить использовать методы
типа dropDatabase, удаление коллекции?