✙ Nikita
А нельзя без этого?
Это хз, надо глянуть в доках, может есть геттер по типу getCollection(name)
yopp
✙ Nikita
yacha
Спасибо!
Danil
Всем привет, подскажите пожалуйста логику авторизации. Мне нужно чтобы имя (nickname) зарегистрированного пользователя нажавшего на кнопку появлялось рядом с заданием http://joxi.ru/a2XjKgQi4KyQ6r
Правильно ли будет сделать так, чтобы при вводе своих данных на странице авторизации, данные попадали в localStorage, а потом я буду отслеживать событие клика на кнопке и брать данные из localStorage с именем зарегистрированного пользователя и подставлять в нужное мне место? Благодарю за ответы и советы =)
Anatoly
Yavir
Привет, помогите пожалуйста зарезолвить простой квери:
return await strapi.query('scheduling')
.find(
{
therapistId,
startTime: {
$gte: moment(beginningDate).format("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"),
// $lt: endDate
},
},
)
Yavir
Error: Invalid format, expected a timestamp or an ISO date
Yavir
Yavir
new Date(beginningDate).toISOString() пробовал - не заехало
MDWIT
Всем привет!
Можно ли как-то сделать поиск по частичному вхождению для поля Number?
Я сейчас использую регулярное выражение
/.*301.*/
. Но при поиске по полям с типом Number получаю ошибку cast to number failed for value
"/.*301.*/ "
Нет вообще вариантов искать по частичному вхождению? нагуглить не получается
northern storm
Lev
арбитр монги можно поставить на малинку?
Nick
арбитр монги можно поставить на малинку?
если встанет, то почему бы и нет) тут вопрос надежности, если вас устраивает, что она на малинке то да. А так ничего не мешает его поставить рядом с оддной из дата нод, но тогда если она помрет, то и весь репликасет помрет
Lev
Nick
потеря работоспособности монги тоже может дорого обойтись)
cat grill friend
hey, is there anyone who manages multidc sharded cluster in mongo?
cat grill friend
how do you route your traffic? any custom implementations or only official?
cat grill friend
when, for example, one dc is down - how it is routed to second dc?
cat grill friend
(you can write answer in russian)
MDWIT
MDWIT
Ребят могут ли индексы замедлять поиск результатов?
Я добавил в индекс названия, в итоге скорость поиска по этому полю уменьшилась в 4 раза
Александр
Александр
🤷♂️ просто удивительно стало, что работать стало медленней
в случаях когда требуется полный обход, без индекса быстрее. Как именно в монге это работает не знаю, но в постгресе, если под условие попадает больше половины записей планировщик индекс использовать не будет. Если у него статистика правильная...
MDWIT
Александр
Понял, спасибо)
https://docs.mongodb.com/manual/reference/operator/query/regex/#index-use
может это поможет
Александр
{name: /.*т.*/}
Поиск по части слова через регулярку
https://docs.mongodb.com/manual/reference/operator/query/text/#op._S_text
https://stackoverflow.com/questions/3305561/how-to-query-mongodb-with-like
тут пишут что с текстовым индексом и search запросом должно быстро работать
Dmitriy
Коллеги, что здесь не правильно в запросе ?
list это массив objectId
[ 60006c4d951f99014e005f68, 60006c4d951f99014e005d52 ]
items и activeItems это массивы objectId
.updateOne(
{_id},
{
$pull: {
items: {$in: list},
},
$push: {
activeItems: {$each: list},
},
}
);
Dmitriy
Ошибок не выдает, просто не переносятся элементы
Константин
Всем привет. Может вы подскажите, есть ли решение для инкрементного бекапа монги, всей или выборочной коллекции в шардируемом кластере при схеме psa ? PBM не подходит из за psa, снапшоты через lvm с сохранением oplog тоже нет возможности делать.
yopp
yopp
Ну или Атлас
Vladislav
Здраствуйте подскажите как правильно реализовать модель если мне нужно передать масив а там куча разных обьектов, но мне нужно передать все это в бд mongo?
Viktar
Можете дать больше информации. Мне не очень понятно, что вы хотите сделать
Kenan
Евгений
Добрый день. Есть скрипт php, который выполняет простой запрос find. Скрипт корректный и работает в большинстве случаев нормально. Но иногда наблюдается странное поведение при вызове скрипта через http запрос (то есть запускается web-сервером). Курсор итерируется до 101 итема и наглухо встает до таймаута. Сообщение об ошибке:
Failed to send "find" command with database "vk": Failed to read 4 bytes from socket within 300000 milliseconds.
Если этот же скрипт запустить из консоли локально - все быстро и хорошо отработает. Находил такой же примерно вопрос в гугле - ответа там нет ((
Версию расширения уже проверили, одно и тоже.
Dmytro
Привет, подскажите пожалуйста, почему запросы в базу на mongoDb cloud (там кластер) ну очень долгие
Dmytro
30+ секунд, и таймаут.
Dmytro
каждый 3-й-4й запрос - всё ок
WolderVsrat
Тайм-аут скорее всего не в монге, а на бэке или в параметрах ngnix если есть . У меня запросы и по 2-4 минуты спокойно например выполняются до победного.
А долгий скорее всего потому что
а) шаред ресурсы (фри план)
б) неоптимальный запрос))
Davа
всем привет!
у меня вопрос
вот схема папок и задач внутри него
мне нужно когда с клиента приходить запрос с названием папки/задачи - создать новую папку или новую задачу с id как правильно в mongoose это делать?
нужно чтобы все было тривиально
пример:
folders: [
0: { title: 'folderName', id: 1, tasks: [
0: {task: 'taskName', id:1}
] } ,
1: { title: 'folderName', id: 2, tasks: [
0: {task: 'taskName', id:1} ,
1: {task: 'taskName', id:2}
// some other tasks
] }
1: { title: 'folderName', id: 3, tasks: [
0: {task: 'taskName', id:1}
/// some tasks
] }
]
Davа
нужно чтобы в обьектах с title и в обьектах с task поля 'id' устанавливались автомачический
и чтобы когда я буду делать удаление id устанавливались соответсвенно
привер:
folders: [
0: { title: 'folderName', id: 1, tasks: [
0: {task: 'taskName', id:1}
] } ,
1: { title: 'folderName', id: 2, tasks: [
0: {task: 'taskName', id:1} ,
1: {task: 'taskName', id:2}
// some other tasks
] }
1: { title: 'folderName', id: 3, tasks: [
0: {task: 'taskName', id:1}
/// some tasks
] }
удаляю
1: { title: 'folderName2', id: 2, tasks: [
0: {task: 'taskName', id:1} ,
1: {task: 'taskName', id:2}
// some other tasks
] }
получаю
folders: [
0: { title: 'folderName1', id: 1, tasks: [
0: {task: 'taskName', id:1}
] } ,
]
1: { title: 'folderName3', id: 2, tasks: [
0: {task: 'taskName', id:1}
/// some tasks
] }
Anatoly
нужно чтобы в обьектах с title и в обьектах с task поля 'id' устанавливались автомачический
и чтобы когда я буду делать удаление id устанавливались соответсвенно
привер:
folders: [
0: { title: 'folderName', id: 1, tasks: [
0: {task: 'taskName', id:1}
] } ,
1: { title: 'folderName', id: 2, tasks: [
0: {task: 'taskName', id:1} ,
1: {task: 'taskName', id:2}
// some other tasks
] }
1: { title: 'folderName', id: 3, tasks: [
0: {task: 'taskName', id:1}
/// some tasks
] }
удаляю
1: { title: 'folderName2', id: 2, tasks: [
0: {task: 'taskName', id:1} ,
1: {task: 'taskName', id:2}
// some other tasks
] }
получаю
folders: [
0: { title: 'folderName1', id: 1, tasks: [
0: {task: 'taskName', id:1}
] } ,
]
1: { title: 'folderName3', id: 2, tasks: [
0: {task: 'taskName', id:1}
/// some tasks
] }
subDocument https://mongoosejs.com/docs/subdocs.html
Davа
как мне сетить индексы?
The end.
Доброе утро, не подскажите как создать строчку такого формата: mongodb://localhost:27017/givdbrandy
Davа
чтобы они не такими - { _id: '501d86090d371bab2c0341c5', name: 'Liesl' }
как кастомными типо начиная по возрастанию с айди 1
Kenan
The end.
The end.
Anatoly
The end.
Viktar
C:\data\db
WolderVsrat
Потому и ошибка при попытке коннекта, монга и не поднимается с указанной ошибкой
D
Всем привет. может кто сталкивался и решил подобное.
как в MongoDB реализовать блокировку колекции на чтение?
Ну или есть другии идей как решить следующий кейс.
Нужно сделать insert в колекцию на основании результатов поиска.
if ( !collection.find( complexQuery) ) {
collection.insert( data )
}
Проблема в том, что если на api одновременно прилетают два взаимо исключающих запроса. то такая конструкция не обеспечивает гарантию, что в колекцию не попадаут оба инсерта.
потому, что из-за асинхрона снача выполняются два find и if срабатывает.
А нужно, что бы find + insert отработали без вклинивания.
yopp
yopp
Вашу проблему можно решить или транзакциями, в этом случае одна из транзакций получит abort
yopp
Или оптимистичной блокировой
D
хм
Alex
Доброго времени суток, хочу создать пользователя у которого будут все права на конкретную бд. Делаю это так
db.createUser(
{
user: "app_test",
pwd: "123",
roles:[{role: "dbOwner" , db:"mydb"}]})
после его создания захожу
mongo -u app_test -p '123' --authenticationDatabase mydb
теперь пытаюсь создать колекцию
db.createCollection("test", { capped : true, size : 5242880, max : 5000 } )
Пишет ошибку
rs0:PRIMARY> db.createCollection("test", { capped : true, size : 5242880, max : 5000 } )
{
"operationTime" : Timestamp(1610701209, 1),
"ok" : 0,
"errmsg" : "not authorized on test to execute command { create: \"test\", capped: true, size: 5242880.0, max: 5000.0, lsid: { id: UUID(\"884681a3-32ac-4a28-9665-862df37c5c53\") }, $clusterTime: { clusterTime: Timestamp(1610701160, 6), signature: { hash: BinData(0, 77BDB59E5B6C1B8DB0FA3E6F643D404A76A7AC35), keyId: 6893849739066867716 } }, $db: \"test\" }",
"code" : 13,
"codeName" : "Unauthorized",
"$clusterTime" : {
"clusterTime" : Timestamp(1610701209, 1),
"signature" : {
"hash" : BinData(0,"RjCFir+C5Y0bwDHevR+7TwsNLXY="),
"keyId" : NumberLong("6893849739066867716")
}
}
}
yopp
authenticationDatabase mydb
Alex
он ведь вроде dbowner , почему not authorized
yopp
по возможности не создавайте пользователей за пределами базы по-умолчанию
yopp
(admin помоему)
yopp
Alex
я зашел админом и создал пользователя в конкретной базе (не admin)
D
@dd_bb С транзакция тоже не понял как мне это поможет
D
Уникальный индекс по полю?
да они бы помогли бы, но у меня запрос на диапазоны, а не наточно совпадение. поэтому индексы не вариант
yopp
yopp