Gor
Gor
Тогда удалить должно
Gor
Свойство size
Gor
Вообщем https://docs.mongodb.com/manual/reference/operator/update/unset/
Anonymous
Вообщем https://docs.mongodb.com/manual/reference/operator/update/unset/
Спасибо, это почти то, что нужно. Но я не знаю как это использовать для меня. Допустим есть объект в бд:
{
name: 'test',
size: 5,
amount: 1,
text: 'hello'
}
И мне нужно, чтобы объект в бд выглядил следующим образом:
{
name: 'test',
amount: 1
}
При этом это динамично, на перед я не знаю какие именно поля надо убрать из бд, а какие обновить. Может быть случай, когда мне в бд нужно оставить такой объект:
{
name: 'test'
}
Как подобное реализовать?
Gor
Спасибо, это почти то, что нужно. Но я не знаю как это использовать для меня. Допустим есть объект в бд:
{
name: 'test',
size: 5,
amount: 1,
text: 'hello'
}
И мне нужно, чтобы объект в бд выглядил следующим образом:
{
name: 'test',
amount: 1
}
При этом это динамично, на перед я не знаю какие именно поля надо убрать из бд, а какие обновить. Может быть случай, когда мне в бд нужно оставить такой объект:
{
name: 'test'
}
Как подобное реализовать?
логикой в коде.
Евгений
Здравствуйте. Подскажите, пожалуйста, как обеспечить атомарность операции bulkWrite что бы записывалось либо всё, либо ничего. Что бы работал как транзакция.
На данный момент делаю так(из node.js через драйвер mongo):
let docsForUpsert = [];
for (let j in queueForArch){
docsForUpsert.push({
"updateOne": {
"filter": {
"_id": queueForArch[j]._id
},
"update": {
$set: queueForArch[j],
$setOnInsert: {
"archiveDate": new Date()
}
},
"upsert": true
}
});
if (docsForUpsert.length === 1000) {
await db.collection(archiveColl).bulkWrite(docsForUpsert);
docsForUpsert = [];
}
}
При возникновении ошибки на одном из документов(на нём дублированное значение поля, на котором висит уник.индекс) происходит ошибка в этом операторе, но некоторые заинсерченные записи остаются в БД. Т.е. транзакционность не обеспечивается. Как обеспечить транзакционность на уровне одного вызова bulkWrite?
Nick
Nick
это не имеет значения, нужны транзакции
Nick
надо - обновляйтесь до 4
Евгений
А в 3.6.3 можно добиться такого же поведения без повышения версии БД?
Nick
нет
Nick
хотя как всегда можно сделать выполнение запросов так чтобы можно было их применить несколько раз
Nick
отказатсья от булка и выполнять запрсоы по одному, контролируя каждый и повторяя в случае ошибок
Nick
либо просто обновиться
Евгений
В общем ясно, что для балк операций транзакционность не обеспечивается. В доке как то неявно про это поведение написано. Наверное, я ее не так понял. А может прочитал для 4 версии:)
Евгений
Спасибо
Nick
балк и транзакции никак не связаны
Евгений
Теперь понятно
𝓨𝓮𝓻𝓫𝓸𝓵𝓪𝓽
ДД! уважаемые эксперты!
заранее извиняюсь за глупый вопрос...
помогите плиз как сделать запрос в МОНГО
SELECT name, count(name) FROM table WHERE date_>=sysdate-1 GROUP BY name
𝓨𝓮𝓻𝓫𝓸𝓵𝓪𝓽
заранее спасибо
yopp
yopp
https://docs.mongodb.com/manual/reference/sql-aggregation-comparison/
yopp
про GROUP BY это будет по второй ссылке. но первую тоже стоит пробежать глазами
𝓨𝓮𝓻𝓫𝓸𝓵𝓪𝓽
спасибо большое
Vladimir
столкнулся с мнением что монгу можно юзать только для proof of concept, а для прода опасно, особенно для хайлоада, насколько это правда?
yopp
Eugene
смотрел лекцию сегодня одного мужичка, они в проде биг дату в монгу суют и нормально
Vladimir
спасибо что успокоили мою душу😂
Gor
если кто то категорично что то доказывает, то обычно он не владеет темой)
yopp
https://www.mongodb.com/who-uses-mongodb
yopp
безумцы, которые ужасную монгу в проде используют
yopp
расстрельный список
yopp
(не полный)
yopp
да вы что, это же продукт с капитализацей почти 8 млрд долларов. как такому можно верить
yopp
обман инвесторов
Nick
Для какого-то конкретного решения )
Nick
В частном случае ) ахах
Bro
мне любопытно
Bro
а есть какие-нибудь метрики для монги которые позволяют примерно понять загрузку БД?
Bro
походу шардить придется вот уже
Bro
rs0:PRIMARY> show dbs
database 2768.493GB
Bro
просто потому что место кончается на дисках
pplcf
top?
pplcf
обычные боттлнеки - это I/O
pplcf
диск, сеть
Iz
ребят есть вопрос есть такой конфиг https://hastebin.com/zizezaduwe.shell
пытаюсь запустить пишет вот такую ошибку
F CONTROL [main] Failed global initial ization: FileNotOpen: Failed to open "/var/log/mongodb/mongod.log"
проверил файл такое есть
Iz
в чем трабл может быть
Iz
вот только что все работало
Iz
Nick
проверьте права на файле и папке
Marat
Marat
mongodb
Marat
chown mongodb: /var/log/mongodb/mongod.log
Iz
Ivan
.aggregate([
{ $group: { _id: { a: '$a', b: '$b' } } }
])
Egor
всем привет, настроил реплика-сет (3.2.8 <> 3.2.22), проверяю данные:
meteor:PRIMARY> db.question_comments.count()
501683
meteor:SECONDARY> db.question_comments.count()
501684
на слэйве на 1 документ в таблице больше. Как так? Слэйв был пустой, происходил init sync
yopp
yopp
https://cloud.google.com/blog/products/open-source/bringing-the-best-of-open-source-to-google-cloud-customers
ахахах, а гугл не осилил прикрутить монговский апи к клауд датастроу и просто интергировал монгу)
Edouard
/report #spam
Gor
@dd_bb
Gor
Korostelev
Коллеги, привет. Есть Unifi контроллер, который собирает данные в базу mongodb версия v3.4.18
в файле mongodb.log периодически появляются записи вида -
2019-04-12T03:10:19.713+0300 I COMMAND [ftdc] serverStatus was very slow: { after basic: 0, after asserts: 0, after backgroundFlushing: 0, after connections: 0, after dur: 0, after extra_info: 0, after globalLock: 0, after locks: 0, after network: 0, after opLatencies: 0, after opcounters: 0, after opcountersRepl: 0, after repl: 0, after security: 0, after storageEngine: 0, after tcmalloc: 0, after transportSecurity: 0, after wiredTiger: 3720, at end: 3720 }
при этом нагрузка на сервер низкая, cpu почти на 99% свободен, из 8 гигабайт оперативной памяти 4 свободно, места где хранится база достаточно и сама база не занимает много места. там мало данных. В чем может быть причина появления таких сообщений ?
yopp
кроме записи в логе ещё какие-то симптомы есть?
yopp
значение таймера at end увеличивается?
Gor
Диск может?
yopp
и как часто они появляются?
Korostelev
пока ни каких симптомов в работе самого контроллера нет, но не известно что будет если я начну добавлять новые сайты и устройства. ( увеличивать нагрузку ), появляются эти сообщения раз в день покачто, на счет диска, контроллер на виртуалке работает в wmvare с схд проблем нет, как и с его производительностью..
Korostelev
yopp
грепнуть логи
yopp
но ответ скорее всего в схд vmware
yopp
снепшоты используются?
Korostelev
да
yopp
вероятно сообщения будут коррелировать с моментом когда делается снепшот