Nick
а какой вообще с этого прок?
Nick
у вас же поля всеравно надо прописывать и они что типизрованы что нет без разницы
Nick
это ж джаваскрипт, определил роль, отправил обрабатыватьяс в отедльный метод, ни тибе необходимости кастовать, ни необходимости првоерять заполненнось
Denis
Ребят. Есть таблица с товарами (условно интернет магазин) у товаров есть тэги
Есть роут у меня в апи, который возвращает список товаров, у каждого товара в монге есть поле tags массив его тэгов
При запросе можно передать массив тегов, то есть надо отфильтровать товары по тэгам
Юзаю mongoose
Очень хочется сделать запрос типа goods.find({ tags: [requestArrayTags] })
Denis
И как бы чтобы requestArrayTags работало как «ИЛИ»
Denis
Подскажите плз как это можно изящно сделать?
Denis
То есть и приходит массив тэгов, по которым надо отфильтровать
И у каждого товара есть массив его назначенных тэгов
Nick
$in
Nick
это для или
yopp
Denis
Спасибо. Буду смотреть
Павел 💻
Есть тут добрые люди, кто может немного помочь с бд?)) там вроде не сложно, но мне как новичку тяжелова то, отпишитесь в лс пожалуйста
Павел 💻
mongodb , запутался с построением схемы юзеров есть 3 вида admin / clien / cleaner , у них есть общие поля (например имя), но я что то запутался в реализауции
Павел 💻
я логику правильно построить не могу, пологаю будет что то вроде этого
Павел 💻
AstraSerg
Добрый вечер. Юзертайп клиент или клинер. А ниже этого что?
Павел 💻
Павел 💻
Их лучше хранить как клиент или клинер или есть таблица Юзер с полем типа, а потом по id их связать с клиент и клинер?
Alexey
Добрый день! Каким образом мне просуммировать два массива в нескольких документах по элементам массива, вот сумма одного массива warningsCountArray, каким образом так же просуммировать secArray, кроме как делать еще один aggregate https://play.db-ai.co/m/XNp2jggjhgAB8jUA
Veaceslav
Всем привет. Ребят есть вопрос к вам по выборке из базы.
Есть у меня такая структура: {id: "asdfsdf", values: [
{id: "1"},
{id: "2"},
{id: "3"},
]}
Как получить в values только объекты у которых ид равен 1 и 2 ?
Veaceslav
Попробовал уже и так и сяк, но как-то так и не получилось сделать то что было задумано. Заранее спасибо всем кто ответит !
AstraSerg
проще всего сделать unwind values
Veaceslav
Ещё есть идеи как это сделать ?
Nick
Nick
и что значит " объекты у которых ид равен 1 и 2"? вам нужен массив с оставшимися элементами?
Dima
всем привет, кто может подсказать, при обновление документа если условия не проходят (то есть не указывается поле которое обновлять), то обновляет весь документ с пустыми значениями, как можно этого избежать и почему это происходит?
$qb = $dm->createQueryBuilder(User::class);
$qb->updateOne();
$qb->field('UID')->equals('1');
if (array_key_exists('Coins', $data)) {
$qb->field('Coins')->set($data['Coins']);
}
if (array_key_exists('Gems', $data)) {
$qb->field('Gems')->set($data['Gems']);
}
$query = $qb->getQuery();
$query->execute();
Veaceslav
в чем проблема вытащить весь массив?
Мне нужно получить values: [
{id: "1"},
{id: "2"},
]
То есть присылаю массив со значениями которые мне нужно найти и в ответ я жду массив с объектами которые подходят под этот запрос.
Nick
если вы задали этот список, то почему бы вам вообще не делать запрос в бызу, если вам нужны только эти элементы?
yopp
Nick
yopp
Dima
yopp
Alexey
Dima
покажите какой запрос генерируется?
{
"type": 5,
"multiple": false,
"query": {
"UID": "1"
},
"newObj": {
"$set": {
"Coins": "1000",
"Gems": "500"
}
}
}
выходит оно юзает тот же setNewObj
но как можно этого избежать?
yopp
Veaceslav
mongoose
Veaceslav
зависит от вашего драйвера
Помогите плиз чутка, не получаться у меня и все. Как дурак блин, вроде и пример уже есть, а не могу заставить работать и все ... Очень сильно вас прошу.
Maksym
yopp
yopp
а что не получается-то?
yopp
yopp
попробуйте вместо $project использовать $addFields
yopp
если вы хотите сохранить структуру документа
yopp
$project оставляет только перечисленные поля
Dima
на самом деле я уже вроде нашел решение, тестирую
Veaceslav
попробуйте вместо $project использовать $addFields
Вот структура еще раз, может поможет понять лучше.
Мне нужно найти все объекты в колекций Attributes в поле values которых есть нужный мне ID. И получить в ответ этот объект Attribute только в values будут уже только те что мы нашли.
yopp
yopp
Nick
unwind
lookup
match
group
yopp
если вы хотите отфильтровать элементы массива $values по полю code, где значение больше или равно «test» то да
yopp
вероятно вы хотите не $gte а $eq
Veaceslav
Уже что-то. Теперь осталось понять почему они пустые ...
yopp
вероятно потому что нет совпадений
Veaceslav
Veaceslav
$addFields: {
attributes: {
$filter: {
input: "$attributes",
as: "item",
cond: { $eq: [ "$$item._id", "5cd90649a1225224942e9452" ] }
}
}
}
При таком запросе, я получил attributes[] в котором есть два объекта "code":"value"
Veaceslav
Veaceslav
Сейчас есть вопрос почему у объекта attributes[0] пропадает id ... все остальное есть, а вот id нету ...
Влад
Здраствуйте, как зайти под пользователем которого создал в mysql? очень надо
Никита
Влад
попробовать надо было
Влад
может кто то знает
Dmitriy
Влад