2017-04-18 50 views
0

我有一張AWS DynamoDB表,其中包含通道號和這些通道中的人員名稱。我試圖拉取這些頻道中的人員姓名,並將其打印在我的應用程序頁面上。除了1個問題,我確實做到了這一點,但它並沒有顯示列表中的第一個人。我認爲這與亞馬遜將第一人投入到0分而不是1分並且我們沒有看到0分。有沒有其他人有過這種事情或知道解決辦法?aws表對象並非全部顯示爲離子2

+0

用示例數據顯示您的代碼。 – notionquest

+0

\t this.comm.notifications.on('gotUsers', (data) => { \t \t \t alert(JSON.stringify(data)); \t \t \t this.users = data.Items; \t \t \t alert(this.users.length) \t \t \t alert(this.users) \t \t }); \t \t \t \t this.comm.getCrew(#of test channel);

+0

對不起剛發佈 –

回答

0
this.comm.notifications.on('gotUsers', (data) => { 
     alert(JSON.stringify(data)); 
     this.users = data.Items; 
     alert(this.users.length) 
     alert(this.users) 
    }); 

    this.comm.getCrew(# of test channel); 

getCrew(channel) { 
    var db = new AWS.DynamoDB.DocumentClient(awsConfig); 
    var params = { 

     TableName: "bav-comms-users", 
     /*FilterExpression: "#N = :name", 
     ProjectionExpression:"#N, #CH", 

     ExpressionAttributeNames:{ 
      "#N": "Name", 
      "#CH": "Channels" 
     }, 
     ExpressionAttributeValues:{ 
      ":name":{ 
       S: "# of test channel" 
      } 
     },*/ 





     FilterExpression: "#r <> :role AND contains(channels, :channel)", 
     //FilterExpression: "id <> :id AND #r <> :role AND channel = :channels", 

     ExpressionAttributeNames:{ 
      "#r": "role" 
     }, 

     ExpressionAttributeValues: { 
      ":channel": parseInt(channel), 
      ":role": "guest" 
      } 
      /*ExpressionAttributeValues: { 
       ":id":0, 
       ":role": "guest" 
      }*/ 

    } 

    var getUsersQuery = db.scan(params).promise(); 

    getUsersQuery.then(function(data) { 
     this.notifications.emit('gotUsers', data); 
    }.bind(this)); 
}