Задать вопрос
  • Как подключить mongoose-auto-increment?

    @dimonnwc3
    не экспортировать модель Admin сразу, а сохранить в переменную например AdminSchema:

    let AdminSchema  = new mongoose.Schema({
      username…
      …..
    });


    и подключить как обычный плагин:

    AdminSchema.plugin(autoIncrement.plugin, 'Admin');

    и после этого уже экспортировать Admin
    let Admin = mongoose.model('Admin', accountSchema);
    modules.exports = Admin;
    Ответ написан
    Комментировать
  • Как правильно связать два объекта в Mongoose (MongoDB)?

    @dimonnwc3
    Во первых:
    user: user._id - сохранять надо не сам айди в строке, а mongoose ObjectID
    Так гласит схема "user: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }"

    Но mongoose немножко умный, поэтому можно в user вставлять самого юзера полученного при запросе из базы, а mongoose сам добавит корректый ObjectID в поле.
    Важно, чтобы user был именно mongoose объектом со всеми методами, а не очищенный plainobject.

    Далее в монго нету foreign key, поэтому такие схемы как выше не желательны. Где юзер ссылается на стори, а стори на юзера. Получается при любых операциях со стори, надо апдейтить юзера и обратно. А это 2 запроса.

    Тут либо в user пишется массив story либо, либо каждой story присваивается создатель.
    Т.е либо родитель имеет инфу о ребенке, либо ребенок о родителе, НО не то и другое вместе.

    Какой способ лучше, зависит от конкретной ситуации, нужно смотреть какая информация и как выводиться чаще.

    Я бы предпочел хрнаить в каждой story userid. А user оставить пустым.
    Ответ написан
    2 комментария
  • Как заставить MongoClient (пакет mongodb из node.js) повторить попытку подключения к базе?

    @dimonnwc3
    auto_reconnect: false, может стоит для начала true поставить?
    Ответ написан
    Комментировать
  • Как сделать populate (join) двух коллекций в Mongoose?

    @dimonnwc3
    Я не до конца понимаю вопрос, но попробую ответить, как я понял.
    Есть Трейлеры, которые имеют ID видео на ютубе, и путь к постеру(jpg).

    По сути, сама схема построена не правильно
    Для чего используются отдельные коллекции YouTube и Posters ?

    Основной документ это трейлер, он имеет одну ссылку на ютуб и один постер, но в теории может иметь и больше.
    Сылка на ютуб и адрес постера, не могут иметь болеу одного трейлера(не могут принадлежать более чем одному трейлеру), более того они всегда уникальны и привязаны к трейлеру.

    Можно сделать ОДНУ вложенную схему вместо трех, без ссылок DBref.

    var trailerSchema = Schema({
        timestamp: String,
        youtube : String
        poster : String
    });


    Либо если трейлер, может иметь много постеров, то с помощью массива объектов:
    var trailerSchema = Schema({
        timestamp: String,
        youtube :  [{name: String, url: String}]
        posters : [{name: String, url: String}]
    });


    так запрос:
    Trailer.find(query);
    Будет сразу выдавать информацию, со ссылками на ютуб и постеры, без популяции.

    Не нужно пытаться эмулировать джоины и использовать коллекции, как таблиц, там где это не требуется.

    PS. С DBref это тоже можно сделать, но я не вижу в этом примере смысла.
    Ответ написан
    Комментировать
  • Как авторизоваться через JS (XHR, Fetch)?

    @dimonnwc3 Автор вопроса
    засада оказалась в credentials: 'same-origin'
    теперь пашет:

    fetch('/login', {
          method: 'POST',
          body: userInfo,
          credentials: 'same-origin',
          headers: {
            "Content-Type": "application/json"
          }
        })
        .then(checkStatus)
        .then(parseJSON)
        .then((data) => {
          console.log('request succeeded with JSON response', data);
        }).catch((error) => {
          console.log('request failed', error);
        });
    Ответ написан
  • Как правильно прописать alias в Mac OS X?

    @dimonnwc3
    не нужен Алиас, в сабмлайм уже встроен CLI.

    ln -s  "/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

    и пропиши переменную в .bashrc если не будет работать:
    export PATH=/usr/local/bin:$PATH
    Ответ написан
    Комментировать
  • Куда MacBook девает мою ОЗУ?

    @dimonnwc3
    Не парься, в OS X всегда память резервируется и свободной очень мало.
    При необходимости для какого нибудь приложения, система ее высвобождает. Чистки всякие не нужны.
    Ответ написан
    9 комментариев
  • В чём может быть проблема с роутером?

    @dimonnwc3
    "Вопрос: как вы считаете дело в железе роутера и надо новый брать, или всё же дело в ПО и перепрошивка может помочь?"
    Прошить роутер и проверить самому дело 10 минут, через интернет ни кто не скажет точно, в чем дело.
    А вообще я за покупку другого, хорошего роутера.
    Ответ написан
  • Почему стали популярны less, sass, ruby on rails, bower, grunt? И зачем они нужны?

    @dimonnwc3
    Не парься, эти вещи лишь упрощают и автоматизируют рутину для тех у кого есть мозг. Без них вполне себе можно не спеша работать и делать ВСЕ.

    А вот если наоборот, как в моем случае, все эти вещи знаю, а программировать один фиг не могу. Вот тут уже проблема. И less с grunt'ом за меня ничего не напишут.
    Ответ написан
    Комментировать
  • Как сделать две раскладки в консоли Archlinux?

    @dimonnwc3 Автор вопроса
    Сам спросил сам ответил.
    Параметр Toggle Keymap вообще непонятно за что отвечает и как работает.

    Как я понял, каждая раскладка имеет свой keymap, в котором указываются сразу две переключаемые раскладки. В основном это какой либо язык + англ. Номер кейкода отвечает на символ, номер кейкода с модификатором Altgr отвечает за символ на второй раскладке.

    В итоге копипастом, берутся кейкоды из DE и перегоняются RU за место английский букв и всех непохожих символов.

    На выходе получил кастомный keymap которые переключает ru-de.

    PS команда showkey поможет узнать кейкод нужной клавиши.
    Ответ написан
    Комментировать
  • Есть утилита для открывания окон в Mac OS на весь экран или в большом виде, аля windows?

    @dimonnwc3
    better touch tool попробуй, сильный оконный менеджер, можно хоткеи настраивать
    Ответ написан
    Комментировать
  • Как создавать быстрый доступ к программам через Terminal в Mac os?

    @dimonnwc3
    Сорекса смотрел?
    алиасы лучше хранить в username/.bash_profile, так же в этом файле можно все остальное настроить
    конкретно алиас для запуска саблайма вот:
    alias sub="open -a /Applications/Sublime\ text.app"


    PS это для ST 3, для второго надо путь подправить будет
    Ответ написан
    1 комментарий
  • Из за чего может греться macbook с Mac Os Yosemite?

    @dimonnwc3
    Смотрите в мониторинге системы, что жрет проц и батарею. У меня так Finder один раз сдурел и мак грелся на пустом месте, я его через мониторинг системы отследил и ребутнул, дальше все ОК!
    Ответ написан