我有一个如下所示的数组:
validZipCodes = [
"84606",
"84605",
"84601"
]
我正在查询这样的一些数据:
var Jobs = firebase.child('Jobs');
我尝试过这个:
var Jobs = firebase.child('Jobs').orderByChild('ZipCode').equalTo($scope.validZipCodes);
但它返回了一个错误,指出它是无效的数据类型,无论如何都可以说:
var Jobs = firebase.child('Jobs').orderByChild('ZipCode').inArray($scope.validZipCodes);
或者类似的东西。
请注意,这是数组比较,而不是查询对象中的文本。
最佳答案
这是我最终的做法:
使用 foreach 命令,您可以轻松地操作数据,然后将其插入数组中,以根据需要重新创建数据集合。
$scope.validZipCodes = [];
$scope.validContractorJobs = [];
var Jobs = firebase.child('Jobs');
contractorJobs.on('value', function(snap) {
snap.forEach(function(job) {
angular.forEach($scope.validZipCodes, function(value, key) {
if(job.val().ZipCode == value) {
$scope.validContractorJobs.push(job.val());
}
});
});
});
关于angularjs - 在 Firebase 中查询多个值,类似于 IN() SQL 功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30132451/