2017-01-08 68 views
0

我正在使用Nodejs和我有一個查詢得到計數。我想檢查是否count > 0返回true,否則 - false。 但我無法使用nodejs處理它。 這裏是我的代碼:如何檢查sequelize計數和返回布爾值,如果計數> 0

const uidIsConnection = (model, entityId, uid) => 
 
\t \t models[model].count({ 
 
\t \t \t where: { entityId, profileId: uid } 
 
\t \t }); 
 

 
var data = uidIsConnection('ProfileData', user.id, id); 
 
//I want this variable data to have the value of true or false

現在,data回報承諾:

Promise { 
 
    _bitField: 2097152, 
 
    _fulfillmentHandler0: undefined, 
 
    _rejectionHandler0: undefined, 
 
    _promise0: undefined, 
 
    _receiver0: undefined, 
 
    _boundTo: profiledata }

如何根據count > 0返回布爾值,不答應麼?

回答

1

續集count返回一個Promise,這是您的data正在解決的問題。爲了獲得該功能的實際計數你應該做的:

const uidIsConnection = (model, entityId, uid) => 
     models[model].count({ 
      where: { entityId, profileId: uid } 
     }); 

uidIsConnection('ProfileData', user.id, id).then(count => { 
    console.log('boolean version of count', !!count); 
}); 

在未來你可以使用asycawait同步解決這個問題,但功能並不widely supported yet