2013-08-21 49 views

回答

1

目前沒有水線SELECT的實施,但您可以使用Model.query(sqlQuery, callback)在您的數據庫上運行原始SQL查詢。

例如:

User.query('SELECT email, username FROM users WHERE id = 10;', function (err, users) { 
    // stuff 
}); 
9

我只是找到了一種方法來實現這一目標。我使用Model.find

Model.find({field: 'value'}, {fields: ['id', 'name']}) 

的第二個參數如果設置字段虛假它模擬一個SELECT *

Model.find({field: 'value'}, {fields: false}) 

一個完整的例子:

Model.find({field: 'value'}, {fields: ['id', 'name']}) 
    .paginate({page: 1}, {limit: 10) 
    .exec(function(err, results) { 
     if(err) { 
      res.badRequest('reason'); 
     } 
     res.jsonx(results); 
    }); 
+2

這對我用「選擇」替換單詞「fields」後有效。 – jjrv

+0

什麼是更新(它返回完整的記錄,我可以從它過濾掉一些文件或記錄,我不需要更新的結果) – Crusader

8

場不再作品,您必須改用select。

Model.find({field: 'value'}, {select: ['id', 'name']}) 
    .paginate({page: 1}, {limit: 10}) 
    .exec(function(err, results) { 
    if(err) { 
     res.badRequest('reason'); 
    } 
    res.json(results); 
}); 
0

進出口使用船帆0.12和我的身影是:每當.populate或.paginate使用(與.find),應使用「選擇」。對於其他情況,應該使用「字段」

相關問題