gpt4 book ai didi

Angular2Firebase 通过多个值查询 whereIN

转载 作者:太空狗 更新时间:2023-10-29 17:35:29 26 4
gpt4 key购买 nike

所以我正在寻找与 WHERE IN(val1,val2) 等价的方法,我已经尝试过,但没有用。

Angular 火力地堡

this.firebase.database.list('/favorites', {
query: {
orderByChild: 'uID',
equalTo: [1,2,3,'some value]
}
});

最佳答案

Firebase 的查询没有 ORIN 运算符。因此,您无法轻松地将上述查询映射到 Firebase。

一种解决方法是对元素实现multiFilter:

public items: FirebaseListObservable<any[]> = null;


ngOnInit() {
this.items = this.db.list('/favorites', {
query: {
orderByChild: 'uID'
}
});

this.items.subscribe(items => {
console.info(this.multiFilter(items,{'uID': [1,2,3,'some value]}));
});
}

public multiFilter(arr: Object[], filters: Object) {
const filterKeys = Object.keys(filters);
return arr.filter(eachObj => {
return filterKeys.every(eachKey => {
if (!filters[eachKey].length) {
return true; // passing an empty filter means that filter is ignored.
}
return filters[eachKey].includes(eachObj[eachKey]);
});
});
};

关于Angular2Firebase 通过多个值查询 whereIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48845808/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com