在「afterRemote」 -hook我想找到一個特定的模式,改變屬性:Loopback:PersistedModel.findById()不提供最終實例。像保存方法()不存在
Team.afterRemote('prototype.__create__messages', function(ctx, message, next) {
var Message = Team.app.models.message;
// Promises.all not required, just for debugging (i removed other code)
const promises = Promise.all([
Message.findById(message.id),
])
promises.then(function(result) {
console.log("FOUND Message ", result);
// here i'd like to change an attribute and save the model back to database
console.log(typeof result.save); // will print undefined
});
我怎麼能操縱發現實體和保存呢?保存() - 方法不存在。總而言之,findById提供了一個普通的JSON對象,而不是一個真正的PersistedModel實例。
模型被定義爲:
{ "name": "message", "base": "PersistedModel", "strict": false, "idInjection": false, "options": { "validateUpsert": true },
數據庫是一個MongoDB的。
'findById'實際上必須返回一個模型實例。 http://apidocs.strongloop.com/loopback/#persistedmodel-findbyid你應該在這裏記錄一個bug:https://github.com/strongloop/loopback/issues/new – Sterex
啊,看起來像你有 - https:/ /github.com/strongloop/loopback/issues/3521 :) – Sterex