
GNU/Docker
25.12.2017
13:44:39
Это вопрос?

Zloy Dobriy
25.12.2017
13:45:16
ага
вродь как

GNU/Docker
25.12.2017
13:45:19
А, аггрегацию.

Google

Zloy Dobriy
25.12.2017
13:45:25
ну да

yopp
25.12.2017
14:39:57
Object to array в помощ
Но будет сложно.
Несколько проще будет с документом на каждый type
Но вообще это явный пример того как динамические ключи делают больно. Не надо использовать динамические ключи
Гораздо проще сделать group по _id: type, status и $sum: 1

Zloy Dobriy
25.12.2017
14:46:13
ну ясно вощем оставлю как есть
не красиво только что type в id
_id: type1,
status1: ..
status2:..

XENONIUM
25.12.2017
15:40:48
Как можно добавить элемент к уже существующему словарю (dict) в MongoDB? Нужен какой-то метод, подобный $pull, только для {словарей}

yopp
25.12.2017
16:04:02
$set: {“foo.newkey”: bar}

XENONIUM
25.12.2017
16:05:57
Тогда остальные элементы очищаются, пробовал

Google

yopp
25.12.2017
16:18:11
Либо вы не корректно сформулировали проблему, либо вы что-то делали не так.
https://docs.mongodb.com/manual/reference/operator/update/set/#behavior

Slava
25.12.2017
16:21:46
тогда пример запроса в студию)

Artem
26.12.2017
06:44:31
Коллеги, подскажите, верхний предел оплога в 50 гб жестко лимитирован?

Max
26.12.2017
07:06:08
Нет
Ставьте в крнфиге сколько надо

ptchol
26.12.2017
08:03:13
по умолчанию он берется в виде 10% от размера диска на котором расположена дата дир но не более 50 гигов и не менее 2. Вроде так

Sergey
26.12.2017
08:19:14
Лучше его делать как минимум х1. 5 промежутка между бекапами.
Во всяком случае, на hidden-реплике

Artem
26.12.2017
15:13:59
https://docs.mongodb.com/v3.4/core/replica-set-oplog/

Алексей
26.12.2017
20:37:33
всем привет, подскажите пожалуйста, в чем проблема

Alexander
26.12.2017
20:51:35
Запускай MongoDB (mongod) с командой
—auth
или пропиши в настройках
security:
authorization: enabled
Потом перезагрузи
https://docs.mongodb.com/v3.6/tutorial/enable-authentication/#re-start-the-mongodb-instance-with-access-control

Алексей
26.12.2017
20:52:12


Alexander
26.12.2017
21:07:23
я так и запускаю, выводит эту ошибку, хотя я авторизуюсь, ну на этом скрине все видно
Пользователь myUserAdmin имеет только привилегии для управления пользователями и ролями. Как myUserAdmin, если вы пытаетесь выполнить любые другие операции, такие как чтение из коллекции foo в тестовой базе данных, MongoDB возвращает ошибку.
The myUserAdmin user only has privileges to manage users and roles. As myUserAdmin, if you attempt to perform any other operations, such as read from a foo collection in the test database, MongoDB returns an error.
https://docs.mongodb.com/v3.6/tutorial/enable-authentication/#create-additional-users-as-needed-for-your-deployment

Алексей
26.12.2017
21:07:46

Alexander
26.12.2017
21:09:29
Спасибо
нужно Другую роль поставить, или добавить к этой.
Не за что. Русских мануалов нормальных я мало встречаю, а с чтением английского на лету тоже проблема))

Алексей
26.12.2017
21:10:37

Alexander
26.12.2017
21:11:56
так что я эту проблему прошел мимо))

Google

Mykola
27.12.2017
04:39:42

Zloy Dobriy
27.12.2017
07:34:47
Что за монера, код, блять в сриншотах кидать

Mykola
27.12.2017
07:35:58

Zloy Dobriy
27.12.2017
07:36:55
Главное удобно
А вот если предположить, что тебе хотять помоч, это придется, место того что бы скопривать и прогнать у себя, писать все это руками

Mykola
27.12.2017
07:40:18

Ruslan
27.12.2017
08:21:26
камрады, я составил поле из ФИО и надо искать по ключениям, например, "Петров Василий" должен выдаваться на запрос "вас", поигрался, но выдаётся только по полным словам, т.е. на "василий"
это фича? или я просто неправильно индекс готовлю?

Zloy Dobriy
27.12.2017
08:22:09
/.*вас.*/i
Не?

Ruslan
27.12.2017
08:22:43
регекспом?
ну, ок

Arthur
27.12.2017
09:27:47
Всем привет! Подскажите пожалуйста, возможно ли чтобы mongoose.Aggregate возвращал не массив, а объект?
Другой вопрос: в mongoose.aggregate есть $project , в котором можно указать field:"$anotherField". Таким образом в field будет значение поля anotherField
Есть ли подобное для mongoose.find или findOne ?
Спасибо

Zloy Dobriy
27.12.2017
09:31:53
А открыть доку?

Arthur
27.12.2017
09:33:22
открывал - не нашел. написал сюда

yopp
27.12.2017
09:35:41

Alex
27.12.2017
09:50:33
А как же индексы триграмные ?
И прочие прелести

Google

Alex
27.12.2017
09:51:19
Которых в монге нет
:)

Алексей
27.12.2017
12:03:58
Всем привет, у меня все работало нормально, но после того как поставил —auth, mongo стал выплевывать unknown modifier $pushall

Peter
27.12.2017
13:27:03
Всем привет, вопрос, как можно сделать match филда по филду. Т.е.
{
$match: {
'$someField': {$gt: {'$someField2'}}
}
}
Спасибо уже подсказали, через $cmp

Norand
28.12.2017
10:07:58
Всем привет
Подскажите, как правильно мне поступить
У каждого документа в коллекции нужно обновить элеметны массива - удалить тяжелые записи и посавить признак, что эта запись у элемента существовала,
Я написал вот такой запрос и он работает, но очень медленно.
db.bankGuarantee.find({"is_cleaned" : false}).forEach((doc)=>{
var arr = doc.agreementDocuments.attachment;
if (arr != undefined) {
for (var i = 0; i < arr.length; i++) {
if (arr[i].cryptoSigns != undefined) {
arr[i].is_signed = true;
delete arr[i].cryptoSigns;
}
}
}
doc.is_cleaned = true;
db.bankGuarantee.save(doc);
});
Как можно это написать , чтобы работало быстрее?
Или может это как то можно реализовать через update?

yopp
28.12.2017
10:15:40
А что это делает?
Удаляет поля?

Norand
28.12.2017
10:16:31
Да, удаляет поля и ставит признак, что оно раньше было у этой записи

yopp
28.12.2017
11:11:52
3.6+

Norand
28.12.2017
11:12:46
Спасибо! Почитаю

yopp
28.12.2017
11:14:54
В arrayFilters делаешь cryptoSign: $exists а в update $unset и $set с $[filterName] вместо $