yopp
ставил приорити в 3, кворум не появился
если в конфиге есть другие ноды, то не важно какой приоритет, одна нода не может голосовать
Denis 災 nobody
ок.
Denis 災 nobody
надо это всё в доке отметить
Denis 災 nobody
а у тебя есть это всё в читаемом виде?
inqfen
inqfen
Кворум это когда больше одного
Daniil
надо это всё в доке отметить
это там все есть вообще)
yopp
а у тебя есть это всё в читаемом виде?
https://docs.mongodb.com/manual/core/replica-set-elections/ https://docs.mongodb.com/manual/tutorial/force-member-to-be-primary/
yopp
https://docs.mongodb.com/manual/replication/#automatic-failover
Alexander
https://github.com/ilex/aiomongodel но я не юзал, только motor отдельно
u = await User(name='Alexandro').save(db, do_insert=True) Какая же грязь... Ну почему никто не делает нормальных ODM? @pandamy619, сколько-то времени назад я написал себе ODM. Работает в продакшене, проблем не создаёт. В асинхронщину умеет, только доку не написал. Если будут вопросы: пиши в личку, подскажу. https://github.com/zzzsochi/yadm
Denis 災 nobody
это там все есть вообще)
в нашей внутренней. Я вот с монгой толком не работал, для меня это всё новая инфа
Arams
день добрый, тяну обьект по айди из нужной таблицы. { $lookup: { from: 'books', localField: 'bookId', foreignField: '_id', as: 'bookName' } } а как вытянуть только одно поле а не весь обьект? нужно по айди вытянуть поле name
Arams
https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/#lookup-join-pipeline и там два шага: $match с условиями для подзапроса и $project с name: 1
спасибо. вот так вышло { $lookup: { from: 'books', localField: 'bookId', foreignField: '_id', as: 'bookName2' }, }, {$unwind:'$bookName2'}, {$project:{ bookName:'$bookName2.name', returnDate: 1, act: 1 }}
Alex
Hey guys, I need some help.I have a NoSQL-MongoDB assignment I am working of identifying 5 use cases of reddit.com. Can one help me with some basics because I am really stuck!!!
Arams
народ подскажите пожалуйста как в данный запрос впихнуть where? BookHistory.aggregate([ { $lookup: { from: 'books', localField: 'bookId', foreignField: '_id', as: 'bookName2' }, }, {$unwind:'$bookName2'}, { $project:{ bookName:'$bookName2.name', returnDate: 1, act: 1, actDate: 1, readerId: 1 } } ]) слияние таблиц проходит ок. но нужно вытягивать только те записи в которых readerId совпадает с айдишником который приходит на сервер
Arams
readerId в первой таблице, до lookup
Arams
$match первым элементом пайплайна?
const bookHistory = await BookHistory.aggregate([ { $match : { readerId : "5ec3f547209caf11b9c24f7b" } }, { $lookup: { from: 'books', localField: 'bookId', foreignField: '_id', as: 'bookName2' }, }, {$unwind:'$bookName2'}, { $project:{ bookName:'$bookName2.name', returnDate: 1, act: 1, actDate: 1, readerId: 1 } } ])
Arams
вот так возращает пустой массив
Vova
play.db-ai.co
Arams
хотя встает вопрос почему конструкция .find({readerId: req.params.id}) работает. там же тоже стринг
Arams
да
Daniil
он не конвертит objectid в строки в aggregate
Daniil
а во всех остальных конвертит
Arams
в общем нужно конвертнуть в objectid сейчас займусь
Arams
и тогда match заработает
Arams
правильно понял?
Daniil
Да
Arams
благодарю за ответы. после конвертации все работает
RusaXXX
Подскажите а монга умеет сама приводить типы Столкнулся с проблемой, что с клиента приходит вот такой объект { pageSize: '5', fields: { header: '0' } } я пытаюсь прокинуть это в запрос к монге, но она ругается что мол ей нужны числа а не строки
Ilya
всем привет:) кто нибудь сможет проконсультировать по mongoose?) я фронтенд разработчик, поэтому чуток не догоняю в чем проблема, мой вопрос по поводу populate
Ilya
есть 2 коллекции: 1) коллекция где я храню модель для анкеты 2) коллекция где я храню пройденные анкеты (там есть привязка к id пользователя и id анкеты)
Ilya
мне нужно сделать выборку только тех анкет, которые не проходил пользователь
Daniil
мне нужно сделать выборку только тех анкет, которые не проходил пользователь
При такой схеме хранения придётся сначала достать список тех анкет, которые этот пользователь проходил, а потом достать те анкеты, которые не проходил использую $nin
Ilya
я где то видел где в populate подсовывается объект в котором есть ключ model
Ilya
https://mongoosejs.com/docs/api.html#query_Query-populate
Daniil
я где то видел где в populate подсовывается объект в котором есть ключ model
есть, но при такой схеме хранения что популейтить то?
Ilya
блин, не понимаю) есть какой нибудь пример с model?) ну а вообще то что будет 2 запроса например, это вообще адекватно?)
Ilya
как в реляционной бд это сделать я понимаю, а тут нифига не догоняю, конечно реально хочется сделать join все таки а не 2 запроса
moonrise
Добрый день, хотел спросить через что можно сделать аутентификацию в проекте Аsp.NET Core MVC.
Ilya
SELECT QUESTIONARIES.ID AS "id", QUESTIONARIES.TITLE AS "title", QUESTIONARIES.DESCRIPTION AS "description", QUESTIONARIES.PUBLICATION_DATE AS "publicationDate", QUESTIONARIES.PLANNED_END_DATE AS "plannedEndDate", QUESTIONARIES.ACTUAL_END_DATE AS "actualEndDate" FROM QUESTIONARIES LEFT JOIN COMPLETED_QUESTIONARIES ON QUESTIONARIES.ID = COMPLETED_QUESTIONARIES.QUESTIONARY_ID AND COMPLETED_QUESTIONARIES.UKL = #{ukl} WHERE QUESTIONARIES.STATE = #{state} AND COMPLETED_QUESTIONARIES.ID IS NULL ORDER BY QUESTIONARIES.CREATION_DATE DESC
Daniil
ну то есть по сути выбрали из обоих коллекций и потом только отфильтровали в монге проще вообще хранить список пройденных анкет в самом пользователе а с такой схемой сделать два запроса
Ilya
понял, спасибо:) буду пробовать)
Алексей
Всем привет. Имею в бд url в котором есть заглавная буква. Когда скрипт делает запрос в бд по указанному url то не находит его т.к скрипт ищет с прописной буквой. Можно как-то со стороны монги проиндексировать все значения по полю в нижний регистр ?
Nick
ну значит пишите регулярки
inqfen
Это тебе скорее не в чат монги, а в чат ноды какой-нибудь
Nick
если вопрос стоит так, то сначала изучить экспресс, а точнее nodejs без использования монги. потом сделать каркас того функционала который хочется (чат) и потом уже когда будет понимание этой фичи, то обращаться к туториалам express+mongo. А дальше углубляться в изучение компонентов по отдельности
Daniyar
ребят в Robo 3T можно запросы делать типа updateMany, aggregate,... etc??
Daniyar
да
10х
Гена
Подскажите как в подключении указать теги ? &readPreferenceTags= как то так?
yopp
https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options
yopp
https://docs.mongodb.com/manual/reference/connection-string/#urioption.readPreferenceTags
yopp
Нет
Гена
а
Гена
всё
Гена
простите
Гена
я слепой..
Гена
спасибо большое
Philipp
Ребят, есть две коллекции: coll_a и coll_b, в coll_a хранятся документы вида: { field: foo, b_wrapper: [ { field: bar, ref: ObjectId(id_of_doc_from_coll_b) { ] } я не хочу подставлять в поле ref тело документа из coll_b, вместо этого я хочу в ответе на запрос ответить документом вида: { A_ENTITIES: [{field: foo, ...}], B_ENTITIES: [{...}] } Если выбрать сначала нужные документы из coll_a, то я могу потом проитерироваться по полям ref и выбрать нужные документы из coll_b, но может есть какой-нибудь способ запросить эти данные за 1 раз?
Philipp
https://docs.mongodb.com/manual/reference/operator/aggregation/facet/ ?
Спасибо, почитаю, может и оно.
Denis 災 nobody
Daniil
@dd_bb
а чего не так?
Denis 災 nobody
спам же