Данил
можно и так, но странно что продукты от всех магазинов будут храниться в общем массиве
­­­Ilya.kt
можно и так, но странно что продукты от всех магазинов будут храниться в общем массиве
ну можно в принципе и свой айдишник, просто мне лень через условия делать
Данил
через свой айдишник наоборот проще мне кажется
­­­Ilya.kt
просто на будущее будет не совсем уютненько доставать продукты
Andrey
вопрос такой, с ходу не нашел ответа. Возможно ли перенести индексы из одной коллекции в другую. Через аггрегацию и сет, добавил поле во все документы, out сделал другую коллекцию, получилось 2 коллекции. Не создавая индексы в новой, можно ли перенести со старой.
Andrey
открываете индексы коллекции и копируете их на новую. Новая запустит свою "индексацию" по коллекции
Новая запустит свою "индексацию" по коллекции - я это знаю, просто индексация занимает около 28 часов. Я спрашиваю по перенос самих индексов, есть ли способ.
Andrey
жаль :)
Данил
Всем привет Необходимо найти пост по id, далее найти tag в массиве tags и обновить title db.posts .findOneAndUpdate({"_id": ObjectId('641cd09d4c01de36a7dfabce') }, {"tags": {"_id": ObjectId('641ee470316dc63b7ca762df')}}, {$set: {title: "Новый"} })
Данил
Код выше не работает
Nurbek
всем привет не подскажите как сделать populate в mongoDB
Null
#Mongoose await Book.findOne({}) Возвращает первое найденное или что?
Null
любой один документ если есть
Рандомный или первый?
Null
любой
Где почитать?
Null
https://mongoosejs.com/docs/api/model.html#Model.findOne() Тут не нашёл (
Null
https://mongoosejs.com/docs/api/query.html#Query.prototype.findOne() А тут сказано null
Nick
читать в доке монго надо
Nick
а там ничего особо нет по этому поводу, собственно что трактуется как "любой" документ
Null
null if no document was found.
Согласен В глаза долблюсь Там написано return an arbitrary document
Null
Спасибо)
Данил
{_id: ObjectId('641cd09d4c01de36a7dfabce'),"tags._id": ObjectId('641ee470316dc63b7ca762df')}
таким образом мы найдем подходящий post, и. сможем обновить его но как обновить именно tag
Oyatillo
{$set: { $set: { "tags.$.title": "Новый" } }}
Это если там нужно обновить первый подходящий элемент
Oyatillo
таким образом мы найдем подходящий post, и. сможем обновить его но как обновить именно tag
https://www.mongodb.com/docs/manual/reference/operator/update/positional/#update-with-multiple-array-matches
Данил
соединил два кода выше - получилось так {_id: ObjectId('641cd09d4c01de36a7dfabce'), {$set: { $set: { "tags.$.title": "Новый" } }}}
Constantin
Приветствую! Два вопроса. 1) У меня в главном файле где я создаю сервер dotenv.config() прописан. Не пойму почему не видны переменные окружения на locallhost если не прописать в этом файле dotenv() отдельно для этого файла? По сути все должно работать и без dotenv() в этом файле! 2) Окау, хер с этим. Написал я dotenv() и в этом файле тоже, но почему тогда на задеплоинном приложении на onrender эти переменные опять не видны ??? ps: переменные окружения я создал для задеплоинного проекта на onrender
Arkady
Ку. Где лучше хранить большие пайплайны? Прямо в коде? В отдельном json файле? В самой базе? У меня огромный пайплайн в коде посреди класса и никуда его не деть, потому что в нём используются переменные. Python + motor
yopp
Ку. Где лучше хранить большие пайплайны? Прямо в коде? В отдельном json файле? В самой базе? У меня огромный пайплайн в коде посреди класса и никуда его не деть, потому что в нём используются переменные. Python + motor
Прямо в коде удобнее всего. Я обычно рекомендую сделать небольшую обертку, которая позволяет уменьшить объем разметки шагов в пайплайне, но так, чтоб читаемость не понизить
yopp
Например вместо [{$match: {bar: “baz”}}, {$group: {_id: “$some”, foo: {$sum: 1}}}] [ match(foo: “bar”), group_by(“$some”, foo: op_sum) ] И реализовать одноименные функции
yopp
Возможно в вашем ODM уже что-то есть на этот случай
Arkady
Понял. Возможно есть, но я как-то привык просто из компаса копировать пайплайн
yopp
тогда оставьте как есть 🙂
Данил
привет ребят как сначала получить данные, а потом удалить объеккт? Так у меня выходит два обращения к БД
Marsel
at model.Document.init (/home/app/src/some-project/api/node_modules/mongoose/lib/document.js:640:8) at model.Document.$init (/home/app/src/some-project/api/node_modules/mongoose/lib/document.js:656:42) at Object.createModelAndInit (/home/app/src/some-project/api/node_modules/mongoose/lib/queryhelpers.js:137:12) at completeOne (/home/app/src/some-project/api/node_modules/mongoose/lib/query.js:3305:11) { generatedMessage: true, code: 'ERR_ASSERTION', actual: false, expected: true, operator: '==' }, valueType: 'string' } } }, _message: 'telegram_data_item validation failed' }
Marsel
привет ребзи
Marsel
что значит это
Marsel
не, я понимаю что это, я не могу понять в какой колекци не проходит ваилацию
Marsel
как отловить
Нефор
А монга в России не работает? Да?
Нефор
А я зайти в Клауд не могу
Данил
не могу понять почему данные не обновляются :(
Данил
не могу понять почему данные не обновляются :(
ключи обернул в двойные кавычки и начало работать, тупость такая) ключи по умолчанию являются строкой же
iWatchYouFromAfar
подскажите пожалуйста, мне нужно чтобы в массиве были уникальные идентификаторы референсной схемы, но при этом разрешить создавать документы с пустыми массивами: @Prop([ { type: mongoose.Schema.Types.ObjectId, ref: 'permissions', unique: true, }, ]) permissions: Permissions[]; Сейчас я могу создать одну запись с пустым массивом, а вторую уже нет, т.к. поле permissions уже не уникально
iWatchYouFromAfar
sparse: true - пробовал, все равно при попытке создать более одной записи с пустым массивом, отдает ошибка дуплицирования
Данил
{$set: { $set: { "tags.$.title": "Новый" } }}
что означает знак $ в tags.$.title ? не могу найти информацию об этом
Oyatillo
что означает знак $ в tags.$.title ? не могу найти информацию об этом
первый элемент соответствующий вашим фильтрам
Alexander
sparse: true - пробовал, все равно при попытке создать более одной записи с пустым массивом, отдает ошибка дуплицирования
sparse точно не поможет, так как пустые массивы - это все же не пропущенные поля. Я бы посоветовал взглянуть на partial index https://www.mongodb.com/docs/manual/core/index-partial/
Алексей
Всем привет) Ранее спрашивал, но опять возникли сложности. Не могу добавить данные в массив answers=>comments=>likes. Пытался вот так(2 картинка), но что то ничего не входит
Алексей
Алексей
Oyatillo
"answers.$.comments.likes": _id Наверно так будет
Алексей
"answers.$.comments.likes": _id Наверно так будет
так ошибка вскакивает MongoServerError: Cannot create field 'likes' in element...
Oyatillo
Алексей
Я думал внутри комменты есть поля лайки
там есть такое поле anwers[]=>comments[]=>likes[]. Но почему то ошибка вскакивает
Алексей
{ $push: { "answers.$.comments.likes": _id } } у вас так же?
да, вот только что опять попробовал, опять ошибка
Oyatillo
там есть такое поле anwers[]=>comments[]=>likes[]. Но почему то ошибка вскакивает
{ $push: { "answers.$.comments.$.likes": _id } } Может так работает
Алексей
так answers тоже Array?
да, получается answers массив, внутри него массив comments, внутри comments нужный мне массив likes
Алексей
{ $push: { "answers.$.comments.$.likes": _id } } Может так работает
MongoServerError: Too many positional (i.e. '$') elements found in path 'answers.$.comments.$.likes'
Oyatillo
of Astora 𒉭
попробуй с $elemMatch
of Astora 𒉭
зайди внутрь answer