在下面的代码片段中,我使用loopback的 inq 运算符从多个userIds的安装中获取所有记录。代码在本地服务器上工作正常,但在Heroku上没有,它正在返回空结果,而记录在集合中可用。
module.exports = function(Installation) {
Installation.getDeviceToken = function(userIds, callback) {
if(!Array.isArray(userIds)) {
var userIds = new Array(userIds);
}
console.log(userIds);
Installation.find({
where: {
userId: {inq: userIds}
},
scope: {
fields: {deviceToken: true}
}
}).then(function(result){
var deviceTokens = [];
console.log(result);
var stringifiedTokens = JSON.stringify(result);
var tokensObject = JSON.parse(stringifiedTokens);
tokensObject.forEach(function(token) {
deviceTokens.push(token.deviceToken);
});
callback(null, deviceTokens);
}).catch(function(err){
console.log(err);
});
};
};