Anonymous
Доброго времени суток,
Возникла нужна сортировки по виртуальному полю.
Есть ли какие либо решения?Ибо из коробки не поддерживает
Сам виртуал выглядит так
productSchema.virtual('stock').get(function() {
var totalAmount = 0;
this.procurement_info.forEach((stock, index) => {
totalAmount += this.procurement_info[index].stock
});
return totalAmount
});
Viktor
Viktor
более быстрый способ: завести невиртуальное поле и обновлять его из приложения, при этом построить по нему индекс
Nick
A
Привет всем, такой вопрос, если в монге проверка за последний запушенный элемент в записи
Допустим есть таблица с кучей записей аля
{'_id':'4123946108237648123'
'dots' : [
{'d':'random Date'
'total_cost': '123123'},
{'d':'random Date'
'total_cost': '555345345'},
{'d':'random Date'
'total_cost': '5345345'}
]}
и в массив дотс каждые 5 минут пушится новая точка. И вопрос заключается в следующем, есть ли тег, которая будет смотреть последнюю точку дотс и ту точку, которая пушится и если они одинаковые по значению total_cost, не пушить эту точку
yopp
️lefrotite
Можно ли выполнить поиск по спискам, чтобы вернуло документы, содержащее хотя бы один из трёх элементов?
Serhii
как правильно подключиться к mongodb с digital ocean?
Eshently
Anonymous
Объясните плиз, когда секондари выходит из строя, в каком случае перевыборы?
Max
главное, чтобы был кворум.
если у вас три монги (в тч и арбитр), то две оставшиеся договрятся друг с другом.
если в репликасете только два хоста, и один из них выйдет из строя, то и primary станет secondary.
Anonymous
смотрите, было 3 ноды - 1P , 2S. оба S по очереди вышли из строя,
Anonymous
при этом P стал через некое время S
Anonymous
как так то
Nick
Anonymous
поясните, не понял
Anonymous
праймари не может работать без секондарей?
Nick
эм, ща начал писать объяснение и понял что чтото могу напутать. в общем случае да, после того как их осталось два и они произвели выборы, после которых еще одна нода вывалилась, то один не может опредлеть он был главным или секондари, т.к. есть проблема сплит брейна
Nick
и одна нода бывшая в кластере всегда будет считать себя ведомой до следующих выборов когда соберется кворум нод, либо пока ей вручную не скажут что она праймари
Anonymous
в этом есть смысл
Nick
но лучше найти доку, я могу уже путаться об особенностях монги
Nick
в этом есть смысл
и еще насколько я помню при создании репликасета указывается список нод в нее входящих, вот как минимум половина +1 должно быть живо чтобы все работало
Anonymous
я понимаю, но вот ты праймари - ты лицо, а падают секондари, тебе ли не все равно?
Anonymous
ты блин один остался, работай
Nick
нет
Nick
в кластерах все не так
Anonymous
сфига тебе становиться ведомым если ты был праймари..
Anonymous
лучше уж пусть база лежит вся
Nick
смотри, есть такая пробелма как сплит брейн, т.к. когда у тебя разрывается связь между частями кластера. предположим у тебя две ноды в кластере мастер и слейв. между ними пошел лаг. каждая из нод начинает думать что осталась только она. и они сами себя провозглашают мастерами, чуешь проблему?
Anonymous
все, понял
Anonymous
а как грамотно сказать реплике, что мне нужно отсоединить временно 2 секондари, чтобы праймари пока поработал один
Nick
я таких операций на монге не проводил, поэтому здесь лучше подождать еще когото либо в доки лезть. в общем случае тебе нужно перенастроить репликасет убрав оттуда слейвы
Nick
и это вроде как можно на горячую без остановок делать
Max
если у вас так стоит вопрос, то надо понять, как долго вы хотите/планируете жить без slave-ов.
если неопределенно долго, то правильнее будет разломать replicaset и оставить монгу как standalone.
когда решите вернуть репликасет - соответственно переключите это все обратно.
Вообще же, для рабочей реплики в минимальном режиме вам нужен мастер + арбитр, который можно поднять на этом же хосте.
то есть:
- в текущий репликасет добавляете арбитр. Следите за тем, чтобы он гарантированно был доступен с мастера.
- убираете ненужные хосты из репликасета до тех пор, пока там останутся мастер, арбитр.
этого будет достаточно, чтобы мастер работал в нужном вам режиме.
Anonymous
У меня был арбитр, я его отключил чтобы не было четногл числа
𝒦𝒶𝓁𝒶𝓎⛩
Добрый день! Тут ведется помощь начинающим программистам монго?
𝒦𝒶𝓁𝒶𝓎⛩
не могу создлать пользователя
Vasiliy
Всем привет! Выручайте)
Есть json типа
{name: "test", fielstList: [configs: {display: true}]}
Как мне достучаться к display?
Я пробовал разные варианты, но не пойму почему не работает
db.cardView.find({"$and":[{"fieldList": {"$elemMatch": {"configs": {"display": true}}}}]})
Vasiliy
Я понимаю, что mongo ищет судя по всему только в первой вложенности, т.к. пример ниже работает
db.cardView.find({"$and":[{"fieldList": {"$elemMatch": {"configs": {"$exists": true}}}}]})
Vasiliy
Но как мне достучаться до display: true, который внутри "configs"?
Maksim
Vasiliy
Я был уверен, что вчера ночью пробовал так уже, но не суть. Это заработало. мне подходит. Спасибо)
Maksim
Да не за что.😊Приятно начать рабочий день с плюсика в карму, ахах.
Vasiliy
Да, хороший плюсик, я несколько часов точно потратил на это(((
A
Здравствуйте,мужики.
Кто подскажет,где полистать,чтобы понять,как реальный сайт на хостинге подключить к монго?а то пока видел про соединение на локальном сервере рассказывают везде
SvPupok
чет не понял вопроса. у тебя есть web приложение которое крутится на хостинге, и тебе надо связать его с БД?
Анатолий
SvPupok
например можно арендовать vps установить туда mongo и развлекаться. Можно воспользоваться услугами Mongo Atlas
SvPupok
https://hostadvice.com/lp/hosting-services/mongodb/?creative=197045647374&targetid=kwd-299170108703&matchtype=e&device=c&campaignid=837723732&adgroupid=45696363514&feeditemid=&loc_physical_ms=1011956&loc_interest_ms=&network=g&devicemodel=&placement=&keyword=mongodb%20hosting&target=&aceid=&adposition=1t2&gclid=CjwKCAjwlcXXBRBhEiwApfHGTcfOFqnwkoyBUqK2fUzRdCxDuw9-7EOje7i6E2ejQdvWnDSAP3CsVhoC4awQAvD_BwE
Анатолий
могу дать ссылку в привате =) на digitalocean
SvPupok
выбор огромен
A
A
A
A
SvPupok
vps - это просто аренда виртуального сервера, т.е. тебе дают вирткальную машину, и заходы на нее, а дальше ты сам делаешь что хочешь.
Anonymous
Вопрос: хочу обновиться с 3.2 до 3.4 в инструкции сказано, что сначала обновить конфиг сервера (для шардед кластера)
Anonymous
но у меня конфиг сервер и реплика находится на одном сервере
SvPupok
и в чем проблема?
Anonymous
то, что я подменяя бинарники для конфиг сервера, подмениваю и для реплики.
yopp
Теперь у вас есть два варианта: поставить 3.4 параллельно с 3.2 в /opt например или в /usr/local, и обновить init/systemd таким образом, чтоб конфиг сервера использовали этот путь.
yopp
Второй вариант: обновить пакет, но не перезапускать реплику.
yopp
Либо остановить реплику и запустись её уже самой последней
Noname
Господа, столкнулся с такой проблемой.
У меня есть поле transactions , в котором ведётся по сути лог изменения баланса пользователя.
Переодически происходит такая вещь. Что создаётся двойные запросы.
То есть допустим user.balance не может быть меньше 0
Приходит две транзакции на отнятие 100,это добавляется к полю sum.
Пример: две транзакции по 100, в поле sum тоже 100.
Bроле и блокировка к документу на запись есть, но как это вообще происходит и как пофиксить?
Nick
Viktor
yopp
yopp
Точнее, если вы ограничены одним документом, вы можете использовать оптимистичную блокировку
yopp
Если вы уже используете оптимистичную блокировку, то нужно больше вводных
Noname
Попробую реализовать
Alexander
Здравствуйте. У меня в mongoose есть массив.
vote: [
{
"id": 111111,
"action": "like"
},
{
"id": 222222,
"action": "dislike"
}
]
Как мне обновить конкретный элемент массива? К примеру мне нужно заменить action у id: 222222 на like.
Кучу всего перерыл, не работает. Часто натыкаюсь на такой пример, но что-то идёт не так и вообще не уверен как это работать должно.
Post.update({
'vote.id': 222222
}, {
'$set': {
'vote.$.action': "dislike",
}
})
Помогите пожалуйста с этой штукой.
Anonymous
db.createCollection is not a function. Я что не так сделал ?
Anonymous
show dbs , use <db name>
Anonymous
потом db.createCollection...
Anonymous
Anonymous
Запускаю другой модуль такой же mongo.js, запускается. А этот ругается на db...
Nikolay
есть кто шарит mongodb+ c#