• Не запускается gulp,пишет: styles errored after 144ms. Как лечить такое?

    Ivan72929, так замени эту строку в Gulpfile.js:
    .pipe(scss({ outputStyle: 'compressed' }))
    на эту:
    .pipe(sass({ outputStyle: 'compressed' }))
    Написано
  • Как упростить запрос к БД?

    Ярослав Иванов, если я вас правильно понял, попробуйте так:
    const data = await this._db.collection('counters').aggregate([
      { $match: { "objectId": { $exists: true } } },
      { $project: { 
          _id: 0, // Исключаем поле _id из вывода
          last: "$objectId.last", // Получаем значение last из объекта objectId и кладем в поле last
          start: "$objectId.start", // Аналогично для start
          end: "$objectId.end" // Аналогично для end
        } 
      }
    ]).toArray();
    
    // data будет массивом документов, и каждый документ будет содержать только поля last, start и end
    Написано
  • Как упростить запрос к БД?

    Ярослав Иванов, В MongoDB каждому документу по умолчанию присваивается поле _id, которое представляет уникальный идентификатор документа. Когда вы выполняете запрос к базе данных для получения документов, это поле _id включается в возвращаемые результаты по умолчанию.
    В рамках проекции запроса (то есть во втором аргументе метода findOne, который задаёт, какие поля должны быть возвращены), указание { _id: 0 } означает, что поле _id не должно быть включено в результаты запроса. Значение 0 здесь служит индикатором того, что поле не следует включать в выходные данные.

    Вкратце, при использовании { projection: { _id: 0 } } вы говорите MongoDB вернуть все поля документа, кроме _id.
    Написано
  • Как сделать выборку из двух коллекций в MongoDB?

    Станислав, Давайте разберем, как интегрировать ваш $match запрос внутри конструкции $pipeline для $lookup. Запрос внутри $pipeline должен быть аналогичен запросу обычного $match, только с использованием $expr для сопоставления полей документов из разных коллекций.
    В вашем случае, сначала добавим запрос $match как часть pipeline в $lookup, сохраняя ссылку на _id изначального документа с помощью переменной $$id, которую мы определяем через let. В этом пайплайне каждый $match будет сравнивать значения поля uid в коллекции colors с _id документа из исходной коллекции. Также вы добавите остальные условия фильтрации для полей rgb.r, rgb.g, rgb.b и prevail.

    Примерно так:
    Collect.aggregate([
      { $match: { $text: { "$search": "слово" } } },
      { $lookup: {
          from: "colors",
          let: { id: "$_id" }, // Определяем переменную id для использования внутри $lookup
          pipeline: [
            { $match: {
              $expr: { $and: [
                { $eq: ["$uid", "$$id"] }, // Сравниваем uid с id из основного документа
                { $gte: ["$rgb.r", 147] },  // Диапазон значений для красного цвета
                { $lte: ["$rgb.r", 167] },
                { $gte: ["$rgb.g", 136] },  // Зеленого
                { $lte: ["$rgb.g", 156] },
                { $gte: ["$rgb.b", 107] },  // Синего
                { $lte: ["$rgb.b", 127] },
                { $lte: ["$prevail", 1] }   // Условие для поля prevail
              ]}
            }}
          ],
          as: "colors"
        }
      },
      { $match: { "colors": { $ne: [] } } }, // Фильтрация документов с ненулевым массивом colors
      { $sort: { "createdAt": -1 } },
      { $limit: 10 }
    ])

    В этом подзапросе $lookup с $pipeline мы выполняем $match с фильтрами, используя $expr для сопоставления и фильтрации документов в соответствии с вашими условиями. Это позволяет $lookup не только соединять данные из двух коллекций, но и фильтровать их непосредственно во время соединения. Таким образом, в массив colors для каждого документа в итоге попадут только те данные из коллекции colors, которые удовлетворяют всем вашим фильтрам, и вам не придется использовать $unwind.
    Написано
  • Как исправить эту ошибку?

    Данная ошибка `KeyboardInterrupt` указывает на то, что выполнение программы было прервано пользователем с помощью комбинации клавиш `Ctrl+C`.
    Ошибка не связана напрямую с функцией `cap.read()`, она просто указывает на то, что в этот момент работа программы была остановлена пользователем вручную.
    Если программа "зависает" на cap.read(), то это может означать проблему с захватом в реальном времени. Убедитесь, что устройство камеры подключено и доступно. А вообще, не помешало бы код показать.
    Написано
  • Как сделать выборку из двух коллекций в MongoDB?

    При использовании $lookup вместе с $unwind, MongoDB оптимизирует агрегацию, объединяя эти два этапа, чтобы улучшить производительность. Однако, если вы хотите избежать использования $unwind после $lookup, вы можете попробовать фильтровать документы непосредственно внутри $lookup с использованием конструкции $pipeline, которая была добавлена в MongoDB версии 3.6.

    Пример кода, который выполняет фильтрацию внутри $lookup:
    Collect.aggregate([
     { $match: { $text: {"$search": "слово"}} },
     { $lookup: {
         from: "colors",
         let: { id: "$_id" },
         pipeline: [
           { $match:
             { $expr:
               { $and:
                 [
                   { $eq: ["$uid","$$id"] },
                   { $eq: ["$color", "red"] }
                 ]
               }
             }
           },
           { $limit: 1 } // Ограничиваем до одного документа, если нам не нужны все цвета
         ],
         as: "colors"
       }
     },
     { $match: { "colors.0": {$exists: true} } }, // Проверить, что результат не пустой
     { $sort: {createdAt: -1} },
     { $skip:0 },
     { $limit: 10 }
    ])
    Написано
  • Какой хоткей для выделения одинакового кода в WebStorm?

    держи еще до кучи:
    Alt + F7 найти случаи использования по проекту
    Ctrl + F7 найти случаи использования по файлу
    Ctrl + Shift + F7 убрать\показать подсветку найденных совпадений
    Ctrl + Alt + F7 показать все случаи вхождения по проекту
    Написано
  • Возможно ли при автокомплите сначала показывать кастомные типы и эвенты, а только потом встроенные?

    godsplane, в таком случае вам нужно искать специальное расширение для vscode. c поддержкой нужного языка.
    Написано
  • Как перезаписать переменную для добавления через InnerHTML?

    WhiteHat, понятно, вы хотите получить реактивность, не используя фреймворки. Тогда добро пожаловать в мир велосипедов! Смотрите документацию на объект Proxy - с его помощью создаете наблюдаемый объект, перехватываете события модификации и пишите свою логику.
    Написано
  • Как перезаписать переменную для добавления через InnerHTML?

    WhiteHat, теперь должно работать. Но так лучше не делать. А что если такого значения нет в localStorage?
    Написано
  • Как перезаписать переменную для добавления через InnerHTML?

    а можно спросить зачем вы два раза атрибут id используете id="block_profile" ?
    Написано
  • Как закрыть take profit и stop loss в pybit?

    могу предположить, что рыночная цена слишком близко к ордеру или к его цели. В этом случае торговая платформа может накладывать ограничение на модификацию ордера. Перед модификацией проверяйте расстояние до рыночной цены.
    Написано
  • Как получить пароль к RAR архиву?

    CityCat4, это неважно. Под гипнозом люди вспоминают надписи и тексты еще с того времени, когда читать не умели. В памяти сохраняется абсолютно всё, просто сознательно оттуда не всё удается достать.
    Написано
  • Как получить пароль к RAR архиву?

    Если сам ставил и забыл пароль - ищешь нормального гипнотизера - сеанс регрессии памяти(под гипнозом) -> пароль твой.
    Написано
  • Стоит ли перепоступать в другой вуз ради айти?

    Учтите, что как только вы начнете переводиться в другой институт - военкомат вас отправит в армию. Они трактуют это так - в законе написано что отсрочка предоставляется вам один раз, вы недоучились в этом институте. Второй раз, на учебу в другом институте отсрочка не предоставляется! Извольте, отслужить, потом доучитесь в другом институте.
    Написано
  • Как запустить 2 сервис в doker?

    links и volumes_from устаревший синтаксис. nginx у вас знает только про один сервис - про uwsgi, про второй ему ничего не известно
    Написано
  • Как вновь устроиться на работу после года перерыва?

    Возраст: 19 лет
    Опыт работы: 3 года и 7 месяцев
    Т.е. вкалываешь с 15 лет? Вообще, сильно смахивает на фейковый аккаунт, которых умники сейчас понаделали по шаблону тысячи. Я не говорю что конкретно это фейк, но как эйчарам отличить?
    Написано
  • Почему возникает ошибка "E11000 duplicate key error collection: prj.users index: email_1 dup key: { email: null }?

    вам не unique надо убирать, а перед сохранением проверять существует ли уже такой ключ в БД. В ошибке точно указана причина ошибки: duplicate key error collection, только не понятно почему речь идет про поле email, которого в вашей схеме не видно.
    Написано