s
согласен, но как это вынести за пределы метода? в сам класс? Создать отдельный метод, который отработает один раз и вернет нужные мне коллекции и подключение?
s
допустим я могу сделать приватные поля для коллекции и ее кеша, сначала они будут пустыми, но при отработке метода туда запишуться результаты выполнения find()
Roman
Возможно, имеет смысл хранить данные не в двух коллекциях, а в одной
с полями "eth" и "cached_eth"
s
может и так, но я пока делаю что говорят
s
подскажите пожалуйста как вынести подключение к базе за пределы метода?
Roman
s
Roman
у мя так
Roman
s
а в каком месте у тебя выполняется эта функция?
Roman
в любом закинь
Roman
бд же отдельно висит
s
если я внутри своей функции бутстрап напишу нормально будет?
s
тут же и происходит инициализация сервера у меня
s
s
так, окей, с этим разобрался
s
но проблема с тем, что нода не видит обновление базы осталась)
s
s
ребят
s
а как экспортировать всю базу?
Daniil
s
а через компасс
Yaroslav
всем привет) нужна помощь)) {
"$switch":{
"branches":[
{
"case":[
[
{
"$toBool":{
"$size":{
"$filter":{
"input":"$filters.filter_values",
"as":"input",
"cond":{
"$and":[
{
"$in":[
"$$input.filter_attribute_id",
[
"177cb0da-ac53-4914-9445-1454e4c14aa8"
]
]
},
{
"$in":[
"$$input.value",
[
100
]
]
}
]
}
}
}
}
}
]
],
"then":"1"
},
{
"case":[
[
{
"$not":{
"$toBool":{
"$size":{
"$filter":{
"input":"$filters.filter_values",
"as":"input",
"cond":{
"$and":[
{
"$in":[
"$$input.filter_attribute_id",
[
"177cb0da-ac53-4914-9445-1454e4c14aa8"
]
]
},
{
"$in":[
"$$input.value",
[
100
]
]
}
]
}
}
}
}
}
}
]
],
"then":"2"
}
],
"default":"rest"
}
}
в $project нужно вернуть груп идб делаю вот такой свитч - поиск по массиву. Проблемма в том что постоянно отрабатывает первое условие - что не есть правильно.
Может у кого-то есть предложения как сделаь это лучше, $elemMatch с $project не работает. Спасибо))
Yaroslav
всем привет) нужна помощь)) {
"$switch":{
"branches":[
{
"case":[
[
{
"$toBool":{
"$size":{
"$filter":{
"input":"$filters.filter_values",
"as":"input",
"cond":{
"$and":[
{
"$in":[
"$$input.filter_attribute_id",
[
"177cb0da-ac53-4914-9445-1454e4c14aa8"
]
]
},
{
"$in":[
"$$input.value",
[
100
]
]
}
]
}
}
}
}
}
]
],
"then":"1"
},
{
"case":[
[
{
"$not":{
"$toBool":{
"$size":{
"$filter":{
"input":"$filters.filter_values",
"as":"input",
"cond":{
"$and":[
{
"$in":[
"$$input.filter_attribute_id",
[
"177cb0da-ac53-4914-9445-1454e4c14aa8"
]
]
},
{
"$in":[
"$$input.value",
[
100
]
]
}
]
}
}
}
}
}
}
]
],
"then":"2"
}
],
"default":"rest"
}
}
в $project нужно вернуть груп идб делаю вот такой свитч - поиск по массиву. Проблемма в том что постоянно отрабатывает первое условие - что не есть правильно.
Может у кого-то есть предложения как сделаь это лучше, $elemMatch с $project не работает. Спасибо))
скрин документа, запись в этой групе - если в filter_values - есть нужные фильтры
Roman
~~> Console: [Email] :: MongoError: Cannot create field 'email' in element {notification: []}
Roman
че делать?
Roman
Daniyar
Roman
Daniyar
если ты детальней опишишь свою проблему и код
Roman
Roman
а это не тот чат
Roman
я пересоздал обьект и баг прошел
Valera
Здравствуйте. Подскажите, пожалуйста, как с помощью этого метода:
usersCollection.FindOne()
вернуть не целый документ, который будет найден, а вернуть конкретное его поле?
Bogdan
Slava
4.4 теперь stable https://docs.mongodb.com/manual/release-notes/4.4/
Daniyar
ребят, есть some_array: [{prop: "sthfdy"}, {prop: "sghiidy"}]
Daniyar
как обратиться к prop с find?
Daniyar
через $in?
Arystan
Da
Roman
да
Vladimir
Привет, ребят, кто-нибудь работал с бэкапами гугл клаудс? В общем, чел удалил конкретный документ в коллекции. В бэкапе нашёл папку /usr/lib/mongodb и на текущей версии такая же есть. Перемещение файлов из одной папки в другую вернёт базу в исходное состояние?
Александр
Может просто поднять еще одну монгу с этой папкой и взять оттуда нужный документ?
Андрей
Поднимите инстанс рядом на другом порту и проверьте нужный док.
Vladimir
Vladimir
Ещё вопрос. Я сделал два инстанса базы, могу ли я их сравнить? Имею ввиду коллекции и документы в них
Vladimir
Нашёл ответ. Если кому-то понадобится, то db.runCommand("dbHash")
Vladimir
Немного не то, но помогает определить, какие коллекции были изменены, а какие нет
Anonymous
/
Artem
Мне нужно с агрегировать данные по дню месяцу и году, но вопрос в том заключаться что нужно сделать это в определенной часовой зоне, можно ли это как то указать
Александр
Время в базе надо хранить в UTC :)
Roman
Roman
а метод обычный Date.now
Roman
чем плох?*
Женя
Привет всем)
как отсортировать все документы с полем role, и с одним из двух значений (допустим operator или admin)
в итоге должeн получится массив с role admin или operator
Roman
$in:['admin','operator']
Женя
Slava
Всем привет!
Я не очь понял ответ, посему решил спросить здесь.
Ошибка такая:
findErr : command find requires authentication
Ответ в гугле
Error cause:
When running mongo with a docker image and providing MONGO_INITDB_ROOT_USERNAME and MONGO_INITDB_ROOT_PASSWORD environment variables, it will make mongod running with the --auth option. See mongo official documentation to understand how mongo handle authentication.
Resolution:
So, to make strapi work with this option, you must provide the authenticationDatabase information in strapi (default: admin). With the mongo username and password.
You can do it either on the strapi initialization when create new project. Or into the file config > environment > [your env] > database.json.
Slava
как поставить этот auth option
Nemo
const checkCommand = (await commcontr.findOn(ctx.session.currBot)).command
- достаю свойство обьекта. как мне грамотно сделать что бы если не находило. не вываливался код с ошибкой(что я у нуля свойство пытаюсь достать) - мне надо проверить ниже ли есть совпадения по полю
Nemo
Nemo
может сразу в запросе. к бд , но тогда мне прийдется еще 1 такой метод делать. для поиска чуть ниже еще 1 свойства. нуу или чуток модернизировать метод
Petro
использую mongo driver nodejs
Вопрос, какую функцию можно использовать чтобы создать если не существует колекция? db.createCollection кидает ошибку если существует
Slava
Daniil
Slava
Slava
Petro
Slava
Slava
Petro
Slava
Для этого в своём коде Вы пишете валидатор до инсерта, перебираеье все поля, возвращает соответствующие ошибки и не чешите потом себе репу, если инсерт матюкается на не ввалидное поле, ибо априори теперь все поля будут валидны