
yopp
13.10.2018
15:10:10
Я не уверен, но можно попробовать covered query и count.

ghst
13.10.2018
15:11:07
я решил отказаться от nfs, сейчас переустанавливаю ноды, посмотрю как будет с производительностью

yopp
13.10.2018
15:11:29
В проекции _id:0, countField:1 и дальше count на курсоре

Google

yopp
13.10.2018
15:13:48

KhuzhA.GQ
13.10.2018
15:15:32
Что значит без назначения ключей в project?
. project же позволяет взять в резалт только нужные ключи, верно? Я не знаю, какие значения у ключей, но хочу взять несколько нужных только на данный момент ключей и их значения, а не весь объект
Может, я не понял работу .project()...

yopp
13.10.2018
15:16:45
Да, project позволяет отфильтровать ключи. Значение ключа знать и не нужно, только имя ключа. 0/1 это флаг «скрыть»/«показать»
Или вы хотите скрыть все ключи, кроме конкретного?

KhuzhA.GQ
13.10.2018
15:17:20

yopp
13.10.2018
15:18:42
Если вы указываете ключи через name: 1, то оно так и работает

¢
13.10.2018
17:56:10
¢:
{ "user": {
"_id": "5bdjakfkdks",
"title": "Hello World",
"course": [
{
"_id": "5bdjakdbhd",
"name": "Lololo"
}
]
}}
How to remove subdocument course id?
Hi everyone

KhuzhA.GQ
13.10.2018
17:57:01

Alexander
13.10.2018
17:57:40

Google

KhuzhA.GQ
13.10.2018
17:58:37

¢
13.10.2018
17:59:50

KhuzhA.GQ
13.10.2018
18:00:44

Vadim
13.10.2018
18:13:32
всем привет

KhuzhA.GQ
13.10.2018
18:14:57

Vadim
13.10.2018
18:15:49
https://core.telegram.org/ не доступен

q
13.10.2018
18:19:27

никогда не слушайте
13.10.2018
19:08:37
Буду рад, если у кого-то есть годный мануал, по интеграции MongoDB + mongodb (node) + express

Constantin
13.10.2018
23:00:16
Буду рад, если у кого-то есть годный мануал, по интеграции MongoDB + mongodb (node) + express
Лучше изучите эти вещи по отдельности, и вам станет ясно как их связать.
Проблема такого запроса в том, что Express — это про HTTP API, а mongodb — это про данные. В целом — это два разных слоя в приложении (модели и интерфейса).
Модель данных должна описывать процессы приложения и их взаимодействие с данными (в т. ч. базой данных), а Express — это просто библиотека, на основе которой вы даете другим приложениям доступ к методам этих моделей
Если очень хочется, то по express mongodb гуглится очень много, в т. ч. вот эта статья. Но рекомендовать ее вам, я не могу

никогда не слушайте
13.10.2018
23:24:17

Konstantin
14.10.2018
14:11:33

никогда не слушайте
14.10.2018
14:13:04

Aga
14.10.2018
14:53:10
Здравствуйте господа, небольшой вопрос.
[ name: "John", chats: ["first", "second", "third"]
Как проверить, чтобы в chats присустовали first и second, без учёта порядка?
Пробовал $in, но он реагирует, только если first или second
Пробовал $eq, но он по порядку судит
$elemMatch смотрю, кажется нашёл

Artemy
14.10.2018
15:03:00

Aga
14.10.2018
15:28:03

Bodya
14.10.2018
23:45:47
пермач

Alexander
15.10.2018
15:12:15
всем привет,
Есть модель, содержащая одним из филдов объект (key/value).
Напомните, плиз, как монгусу сказать чтобы искал по значениям этого объекта?
{
'1231e1nj1ekb3khb2hj': 'abc',
'23kj4h23kjhk2jh423kjj': 'bcd'
}

Google

KhuzhA.GQ
15.10.2018
15:47:29

Alexander
15.10.2018
15:48:01

KhuzhA.GQ
15.10.2018
15:52:25
а как тогда запрос будет выглядеть?
Не работал с монгузом, вот для самой монги пример (если я правильно понял задачу):
db.collection('coll').find({'поиск'}).toArray()
.then((src) => {
....
Object.values(src[0])
})

Alexander
15.10.2018
15:53:06

Alexander
15.10.2018
15:53:07

Alexander
15.10.2018
15:53:30
чого не так? )

Alexander
15.10.2018
15:53:49
у монгуза строгая схема, или не строгая, но тогда теряется смысл монгуза

Alexander
15.10.2018
15:54:21

Alexander
15.10.2018
15:54:29

Alexander
15.10.2018
15:54:39

Alexander
15.10.2018
15:55:13
если тебе key/value нужна, тогда ебаш модель Map of Mixed
https://mongoosejs.com/docs/schematypes.html#maps

Alexander
15.10.2018
15:57:18
спасибо, ща придумаю что-нибудь

Artem
16.10.2018
07:08:57
Камрады, никто не хочет попробовать себя?
https://m.hh.ru/vacancy/26228553

Yaroslav
16.10.2018
07:09:45
Требования:
- Высшее техническое образование.
эм..

Constantin
16.10.2018
07:10:33
Требования:
- Высшее техническое образование.
Госсударственная организация, бывает что и на 15к рублей в месяц людей берут только с высшим образованием. Такие требования в каком-нибудь рабочем расписании, значит найм по нему и должен идти

Ilya
16.10.2018
07:11:38
да, обычно в требованиях просто наличие высшего. Техническое или нет - это уже хотелки нач отдела. Я редко где видел именно профильное высшее образование

Google

yopp
16.10.2018
07:41:20

Artem
16.10.2018
07:41:38
?
Леш, я смотрю тебе тоже понравилось?

m
16.10.2018
08:08:08
Подскажите пожалуйста, использую монгус, и, кажется, что-то не так делаю
ItemSchema.pre('save', function (next){
this.slug = slugify(this.name);
next()
})
Мне казалось это так работает, но не работает, поле не добавляется. Посоветуйте пожалуйста, как это правильно сделать?
slugify - это вот этот модуль. Может быть он отрабатывает асинхронно и это нужно учесть?

Alexander
16.10.2018
08:30:43

m
16.10.2018
08:31:10

Alexander
16.10.2018
08:31:43

m
16.10.2018
08:41:44
Точна?
вот так:
name: {
type: String,
required: true,
minlength: 1,
trim: true,
},
slug: {
type: String,
index: true
},

Constantin
16.10.2018
11:29:27
Есть около монговский вопрос, но скорее про алгоритмы устройства внутри:
MongoDB использует Raft или что-то похожее для того, чтобы организовать репликацию oplog на все машины, а также выбирать нового Primary, в случае, если первый упадет.
Когда мы добавляем нового Secondary на него реплицируется состояние Primary, но у меня вопрос, как именно? Oplog конечен, как capped collection он перезаписывается. Как выпавший надолго Secondary, или вновь подключенный узнает о всех изменениях, которые произошли на Primary, включая те, которые в oplog уже были перетерты.


Oleg
16.10.2018
11:38:42
db.getCollection('payments').aggregate([
{
"$match": {status: 'paid'}
},
{
"$project": {
"y": {"$year": "$created_at"},
"m": {"$month": "$created_at"},
"d": {"$dayOfMonth": {
date: "$created_at",
timezone: "Europe/Moscow"
}
},
"h": {"$hour": "$created_at"},
"amount": 1
}
},
{
"$group": {
"_id": {"year": "$y", "month": "$m", "day": "$d"},
"total": {"$sum": "$amount"}
}
},
{$sort: {_id: -1}}
])
Почему ошибка?

Yurii
16.10.2018
11:41:17
db.getCollection('payments').aggregate([
{
"$match": {status: 'paid'}
},
{
"$project": {
"y": {"$year": "$created_at"},
"m": {"$month": "$created_at"},
"d": {"$dayOfMonth": {
date: "$created_at",
timezone: "Europe/Moscow"
}
},
"h": {"$hour": "$created_at"},
"amount": 1
}
},
{
"$group": {
"_id": {"year": "$y", "month": "$m", "day": "$d"},
"total": {"$sum": "$amount"}
}
},
{$sort: {_id: -1}}
])
Почему ошибка?
кажется, тебе надо это
timezone: {$literal: "Europe/Moscow"}

Maxim
16.10.2018
11:41:23
привет! насколько адекватна идея вместо object id юзать кастомную строку?
при условии что строка гарантировано будет уникальной
https://www.npmjs.com/package/shortid
могу конечно запилить это отдельным полем и повесить индекс, но имхо - это не очень хорошая идея

Nick
16.10.2018
11:43:03
Надо исходить из вопроса зачем вам вообще ид и что вы с ним делаете?

Yurii
16.10.2018
11:43:22

Oleg
16.10.2018
11:43:27

Nick
16.10.2018
11:44:13

Maxim
16.10.2018
11:44:21

Yurii
16.10.2018
11:44:30

Google

Maxim
16.10.2018
11:44:45
у меня createdAt
- updatedAt

yopp
16.10.2018
11:45:01
Есть около монговский вопрос, но скорее про алгоритмы устройства внутри:
MongoDB использует Raft или что-то похожее для того, чтобы организовать репликацию oplog на все машины, а также выбирать нового Primary, в случае, если первый упадет.
Когда мы добавляем нового Secondary на него реплицируется состояние Primary, но у меня вопрос, как именно? Oplog конечен, как capped collection он перезаписывается. Как выпавший надолго Secondary, или вновь подключенный узнает о всех изменениях, которые произошли на Primary, включая те, которые в oplog уже были перетерты.
состояние когда нода выпала за оплог разрешается с помощью inital sync. это просто копирование данных и последующее накатывание на них оплога