2015-08-26 33 views
1

我是Sails.js的初學者。我正在嘗試配置一個控制器。我發現here的代碼。如何調用sailsjs上的資源值

create: function (req, res) { 
      var params = req.params.all() 
      User.create({name:params.name, email:params.email}).exec(function createCB(err, created){ 
       return res.json({ 
        notice: 'Created user with name '+created.name 
       }); 
      }); 
     }, 

如何調用創建的資源的值?像那樣的東西?

show: function (req, res) { 
    return res.json({ 
     ??? - what should I write here? 
    }); 
    }, 

預先感謝您!

回答

1

您可能想要顯示保存在控制器創建方法中的數據庫值。

要做到這一點,你需要查詢它:

show: function (req, res) { 
    User.find().exec(function showUsers(err, users){ 
     if(err) return res.serverError(); 

     return res.json(users); 
    }); 
} 

該代碼段將查詢所有已創建的用戶和發送對象的響應。

+0

謝謝,hlozancic!真的行! – juku

1

首先:歡迎來到Sails.js!

hlozancic給出了一個很好的答案來查詢該模型中的所有存儲數據。

每當在數據庫中創建一個對象時,就會給它一個唯一的ID(通常是主索引)。如果您只想檢索只有您創建的對象,您可以將參數傳遞到.find().findOne()one of the other methods available

show: function (req, res) { 
    User.findOne(id).exec(function(err, users){ 
    if(err) return res.serverError(); 
    return res.json(users); 
    }); 
} 

例如,當您創建用戶時,您爲該用戶定義了{name:params.name, email:params.email}。您可以使用這些完全相同的參數來查找用戶:

User.findOne({name:params.name, email:params.email}) 
    .exec(function(err, foundUser){ ... }); 
+1

感謝您的好建議,metzuda! – juku