Задать вопрос
Ответы пользователя по тегу Mongoose
  • Как связать таблицы через Mongoose?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Нужно использовать метод populate
    Ответ написан
    1 комментарий
  • Не могу разобраться в коротком коде?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    Судя по коду речь идет про тестирование.
    Вы описываете callback внутри функции beforeEach.
    Callback - это функция, которая будет вызвана в какой-то момент, задуманный автором, следовательно автором же задумано, что внутрь этого "коллбэка" будет передан аргумент - еще одна функция. Вы ее назвали done (так как, все так называют, но вместо done, можно было написать qwe и то же бы работало).

    Resolve и reject - это названия (так же придуманные для удобства) функций, которые вы передаете в then:

    beforeEach((done) => {
      Todo.remove({}).then(() => {
        return Todo.insertMany(todos);
      }).then(resolve, reject);
    });


    Получается, что ваш resolve - это первый аргумент, то есть анонимная функция, первая в then, то есть:
    () => done()
    Функции reject - здесь нет, как нет и функции catch.

    Пример, про qwe:
    beforeEach((qwe) => {
      Todo.remove({}).then(() => {
        return Todo.insertMany(todos);
      }).then(() => qwe());
    });


    https://learn.javascript.ru/promise
    Ответ написан
    3 комментария
  • Collection name must be a String?

    maxfarseer
    @maxfarseer
    https://maxpfrontend.ru, обучаю реакту и компании
    По вашему коду, не могу понять, что вы хотели сделать с помощью:
    var testdb = mongoose.model('testdb', testdbSchema, function(err){ ...

    Если вы хотели бы сохранить модель в базу, то судя по документации можно сделать это 2мя способами (адаптировал под ваши переменные):

    var testModel = mongoose.model('TestModel', testdbSchema);
    
    // способ 1
    var testRecord = new TestModel({ param: 100500 });
    testRecord.save(function (err) {
      if (err) return handleError(err);
      // saved!
    })
    
    // или способ 2
    TestModel.create({ param: 100500 }, function (err, small) {
      if (err) return handleError(err);
      // saved!
    })
    Ответ написан