如何调整下面的 Firebase 查询表达式以适应缺少的查询参数?admin.firestore().collection('vehicles').where('type', '==', request.query['car'])上面的表达式
我如何调整下面的 Firebase 查询表达式以适应缺少的查询参数?
admin.firestore().collection('vehicles').where('type', '==', request.query['car'])
上面的表达式在 ?car=ford
作为 GET 请求的一部分传递时有效。每当未传递查询参数时,我想使用类似以下内容:
admin.firestore().collection('vehicles').where('type', '==', [request.query['car'] || ***the current vehicle type***])
你有什么建议吗?
如果我正确理解的话,“当前车辆类型”以某种方式在您的前端(例如,您在变量或字段中拥有它)或在您的服务器端或云功能代码(您使用 Admin SDK)中为人所知。
如果是这种情况,您只需在使用该方法之前计算出该方法的第三个参数所需的值即可 where()
。 大致如下:
function isNullOrUndefined(value) {
return value === undefined || value === null;
}
const currentVehicleType = ...;
const filterValue = isNullOrUndefined(request.query['car']) ? currentVehicleType : request.query['car'];
const q = admin.firestore().collection('vehicles').where('type', '==', filterValue);