Anonymous
использую monogoose. И у мне надо удалить объект в массиве по айди. Вот эта запись не работает: User.findOneAndUpdate({ _id: user._id }, { $pull: { posts: {_id: id} } });
Anonymous
у User есть свойство posts
Anonymous
id это айди поста
Vyacheslav
Ivan
Egor
Volodya
Volodya
но можно еще поискать ибо мне было не очень удобно делать
Alex
draw.io ещё есть
David
Всем привет!
Подскажите плиз, что делаю не так.
У меня есть таблица платежей, в каждом ряду есть поле "user" (id плательщика) и "amount".
Мне нужно получить сколько суммарно каждый юзер потратил за все время
db.getCollection('payments').aggregate([{"$group" : {_id : "$user", "my_field" : {$sum: "$amount"}}}])
У меня всегда my_field выходит 0, хотя это невозможно (сделать платеж на сумму 0)
Roman Khonichev
не удивительно... вы группируете по этому полю
Roman Khonichev
вынесите из группировки поле, получите то, что хотите посчитать
David
А как вынести, вы про "@amount" поле?
Если выносить за скобки @group, то там же какое то ключевое слово должно стоять...
Я ориентировался на этот пример: https://stackoverflow.com/a/17045377/11277611
Sergey
Всем привет, подскажите, пожалуйста, возможно ли в MongoDB получить запись и сразу же её изменить, чтобы другие потоки не могли обратиться к этой записи?
Sergey
что-то вроде блокировки, чтобы многопоточное приложение не могло не в своём потоке получить уже полученную запись в другом потоке
Sergey
вопрос снимается, нашёл findAndModify, вроде оно
Евгений
Всем привет, нужна помощь
Необходима консультация по Mongo DB 4.0.12
Первести ноду mongodb в режим сингл-сервер. При потере связи нода автоматом деградирует с запретом чтения-записи. Перводится ремаркиранием всех строк раздела replication в файле конфигурации /etc/mongod.conf, после правки перезапустить mongod. после перезапуска можно редактировать конфигурацию реплика-сета, на работу в режиме сингл-ноды это не повлияет.
Mongo слейв-нода репликации mongodb. Введена в режим скрытой копии без права голосования на выборах мастера, т.е. никакой клиент реплика-сета к ней обращаться не будет.
Необходимо корректно настроить Mongo DB в режим работы сингл ноды.
После распада кластера настройки Mongo DB находятся в режиме реплики
показать ход выполнения работы через демонстрацию экран
не бесплатно естественно
https://freelancehunt.com/project/neobhodima-konsultatsiya-po-mongo-4-0-12/1037137.html
Erlan
Google
Всем привет можете помочь как можно сделать в Mongodb такую вешь, У пользователя есть в балансе 70$ скажем он сделал запрос на покупку на сумму 40$ - как заблокировать ещё не завершенный запрос с ( TRANSACTION ) ( SELECT FOR UPDATE , COMMIT, and ROLLBACK )
Google
что бы не сделал одновременный запрос на списание с баланса, как зашитить ?
Google
Да в можно не могу решить эту
Google
в инете поискал несмог сам найти полезную инфу тут же спец есть может скажет как сделать или правильно искать
Google
в Mysql есть
Danil
Google
как делать ?
Danil
Ты какой яп используешь?
Google
В Mongodb
Google
Danil
Ну с node js не знаком, ну условия там есть?
Kinderwond
Стек Node js
Пихай все транзакции в очереди
Типо Bull основаный на редис очередях
Google
Bull это в Mongodb ?
Google
ну тут redis а в Mongodb работать будет ?
Kinderwond
Либо сам напиши брокера который будет принимать сообщения и складывать в сихронную FIFO
Kinderwond
ну тут redis а в Mongodb работать будет ?
На уровне mongodb ты не сделаешь
Один из недостатков монги - отсутствие консистентности информации(в отличии от mysql, postgresql)
Поэтому нужно решать это на более высоком уровне (например на уровне ноды)
Google
М да спасибо похоже надо перейти на postgresql
Anton
Хранилище заполнилось на 100% , монга не дает коннектиться: Connection refused. Что в таком случае делать?
Сергей
Ребят, подскажите как реализовать вот такую логику?
Сергей
Сергей
Сергей
Anton
Я конечно не придираюсь к коду но у вас async метод который не использует в своем теле await. Иначе говоря async можно убрать
Maksym
Maksym
Или это не так работает
Сергей
Roman
А с Атласом все нормально?
>nslookup cluster0.ojrbm.mongodb.net
Address: 10.2.0.1
*** UnKnown не удалось найти cluster0.ojrbm.mongodb.net: Server failed
Dmitry
Roma
подскажите как сделать такое преобразование полей
из Object: {a: 1, b: 2, c: 3}
в Array: [ {a: 1}, {b: 2}, {c: 3} ]
dnacd 🦜
народ
как правильно написать запрос
есть пост с полем
"tags": [
"tag",
"parsing"
]
мне нужно посчитать все посты например с именем тега "tag"
Nick
Just
Всем привет
Такой вопрос
Есть Категория, она содержит в себе поле products, где лежат рефы на продукцию
Типа:
Category{
products:{
"1": ObjectID("..."),
"2": ObjectID("..."),
...
}
}
Как мне получить все категории, где лежат продукты определенного названия?
Я получил через populate все названия продукции и отобразил только те элементы, где есть продукция с нужным названием, но как отфильтровать категории, где products null?
Just
Этим в populate я получаю все подходящие мне категории, но как убрать теперь те варианты, где поле теперь null?)
Anton
А $lookup работает по полю Object? Или только по атомарным типа: число, строка, булеан...?
Nick
Nick
Anton
Just
По моему вопросу никто не знает?)
Nick
Just
$and: [ ваше .... $exists:true,
$ne: null
]
оно проверяет - матчится ли данный реф и не пустой ли он изначально, так?
А проблема в том, что я на выходе получаю null в документах, где поле не заматчилось и мне нужно в этом же запросе этот документ исключить
Есть еще 2 варианта конечно - отфильтровать jsом,либо делать доп запрос к полученной коллекции, но первый не совсем подходит, а второй не совсем оптимизированный на мой взгляд))
Nick
Illia
Господа, подскажите, плиз, как сделать lookup для глубоко вложенного массива с обьектами? Надо в 11 строке подтянуть док с другой коллекции
Illia
Nick
Illia
угу
Nick
чета такое поулчается
db.getCollection('look_3_nest_a').aggregate([
{
$lookup:{
from: "look_3_nest_b",
foreignField: "id",
localField: "ar1.ar2.ar3.to_b",
as : "on_lvl1"
}}])
в on_lvl1 будет массив всех подтянутых объектов, протащить их на тертий уровень не поулчится вменяемы способом, прощем потом по id сопоставить из ответа
в look_3_nest_a
{
"_id" : ObjectId("620bd1157817c77d6847531f"),
"ar1" : [
{
"n" : "1_lvl",
"ar2" : [
{
"n" : "2_lvl",
"ar3" : [
{
"n" : "3_lvl_1",
"to_b" : "1"
},
{
"n" : "3_lvl_2",
"to_b" : "2"
}
]
}
]
}
]
}
в look_3_nest_b
{
"_id" : ObjectId("620bd1837817c77d68475371"),
"id" : "1",
"v" : "1_"
}
Just
Bohdan 🕊️
Привет, ребят, помогите пожалуйста, почему-то не могу запустить mongosh
Установил через brew (мак) и теперь эта ошибка..
Bohdan 🕊️
Один раз сработало, потом перезапустил terminal и опять перестало работать. Запускал brew services тоже.
fλüggåɘnk∂€čhiœßøλ∫ên
Bohdan 🕊️
Да
Bohdan 🕊️
Та вроде как опять заработало, дело времени