.find () возвращает пустое значение при использовании с node.js и mongoose, но возвращает данные о оболочке mongo [duplicate]

В Java все находится в форме класса.

Если вы хотите использовать любой объект, тогда у вас есть две фазы:

  1. Объявить
  2. Инициализация

Пример:

  • Объявление: Object a;
  • Инициализация: a=new Object();

То же самое для концепции массива

  • Объявление: Item i[]=new Item[5];
  • Инициализация: i[0]=new Item();

Если вы не дают секцию инициализации, тогда возникает NullpointerException.

13
задан JohnnyHK 30 June 2015 в 20:07
поделиться

1 ответ

Вызов mongoose.model устанавливает имя коллекции, к которой привязана модель, причем по умолчанию используется имя с множественным номером с нижней обложкой. Таким образом, с вашим кодом это будет 'models'. Чтобы использовать модель с коллекцией files, измените эту строку на:

var Model = mongoose.model("Model", fileSchema, "files");

или

var Model = mongoose.model("file", fileSchema);
36
ответ дан JohnnyHK 19 August 2018 в 01:24
поделиться
  • 1
    Прекрасно, большое спасибо. Я удивлен, что ни один из уроков, о которых я говорил, не упомянул об этом. – locrizak 6 January 2013 в 17:57
  • 2
    Экономит день. Большое спасибо! Жаль, что это не указано в официальном руководстве. – thameera 16 November 2013 в 13:35
  • 3
    @thameera тоже здесь. Я перемещаюсь в неизведанные воды из земли .net, и я потратил столько времени на это. Спасатель. Да, соглашение, похоже, не упоминалось где-либо , по крайней мере, в моих попытках поиска. Спасибо!!! – scniro 1 December 2015 в 16:06
  • 4
    var Model = mongoose.model («Модель», fileSchema, «файлы»); экономит день – Lekz Flores 5 May 2016 в 09:07
  • 5
    Я тоже нашел это слишком сложно - эта модель («объект», ...) фактически создает коллекцию, называемую «объекты». ORM, которые слишком волшебны, но, к счастью, есть переполнение стека! – Case Larsen 8 April 2018 в 04:17
Другие вопросы по тегам:

Похожие вопросы: