Как я могу получить модель петли Strongloop?

Это безумие, как мне получить модель петли, чтобы я мог программно работать с ней? У меня есть модель Persisted с названием "Уведомление". Я могу взаимодействовать с ним, используя REST explorer. Я хочу иметь возможность работать с ним внутри сервера, т.е. Notification.find(...). Я выполняю app.models() и вижу его в списке. Я сделал это:

var Notification = app.models.Notification;

и получите большой жир undefined. Я сделал это:

var Notification = loopback.Notification;
app.model(Notification);
var Notification = app.models.Notification;

и еще один большой жир undefined ".

Пожалуйста, объясните все, что мне нужно сделать, чтобы получить модель, которую я определил, используя:

slc loopback:model

Заранее спасибо

2 ответа

Вы можете использовать ModelCtor.app.models.OtherModelName для доступа к другим моделям из ваших пользовательских методов.

/** common/models/product.js **/
module.exports = function(Product) {
 Product.createRandomName = function(cb) {
 var Randomizer = Product.app.models.Randomizer;
 Randomizer.createName(cb);
 }
 // this will not work as `Product.app` is not set yet
 var Randomizer = Product.app.models.Randomizer;
}
/** common/models/randomizer.js **/
module.exports = function(Randomizer) {
 Randomizer.createName = function(cb) {
 process.nextTick(function() { 
 cb(null, 'random name');
 });
 };
}
/** server/model-config.js **/
{
 "Product": {
 "dataSource": "db"
 },
 "Randomizer": {
 "dataSource": null
 }
}


Я знаю, что этот пост был здесь давным-давно. Но так как я получил тот же вопрос в последние дни, вот то, что я выяснил с последним loopback api:

Вы можете получить приложение, к которому была прикреплена ваша модель, как показано ниже:

ModelX.js

Похоже, я плохо себя чувствую с форматом кода кода...

Также вы должны быть осторожны относительно времени, когда этот getApp вызывается, важно, потому что, если вы вызовете этот метод очень рано при инициализации модели, произойдет что-то вроде ошибки undefined.

licensed under cc by-sa 3.0 with attribution.