2016-06-27 2 views
0

Проблема: Я получаю неожиданный вывод из кода, который ранее работал.Парус. js/Waterline.js - find() not возвращающий массив


Код Проблема:

sails.models.user.find().then(function (users){...});

в настоящее время возвращаются { id: 1 }

но должен возвращать массив объектов пользователя, как [{id:x, name:y},...]

Код Перепланировка:

  • sails.models.user.find().exec(function (err, users){...}); не содержит ошибку, и возвращает то же самое, используя .then(), как и выше.

  • sails.models.user.findOne(1).then(function (users){...}); правильно возвращает пользователя, такого как {id:x, name:y}.

  • sails.models.venue.find().then(function (venues){...}); возвращает массив объектов, так же как и любой другой класс помимо Пользователя.

Примечание:

Этот код был ранее работал (это довольно простая линия), и единственные изменения, которые я сделал между его работой и не работает бегали npm install (но это было ранее работало над heroku, где установлено, поэтому я не думаю, что это была проблема) и изменение схемы пользователя для добавления нескольких столбцов (я сделал это, удалив таблицу User в БД, обновив модель Sails User и отменив приложение в режиме создания, поэтому таблица точно соответствует модели). Ни один из них должен вызвать проблемы, но мы все знаем, как «должен» и кодирование не смешивать: P


Как это исправить? И почему это произошло? Thanks :)

ответ

0

Выполненный другой код вызывал пакет sails-mock-models который выполнял свою работу. Полностью забыл об этом коде. Задача решена.