javascript - 过滤实时数据库数据
问题描述
我有以下 firebase 数据库。我想过滤并列出 deliveryDuration 值为“45”的订单
"orders" : [ null, {
"comment" : "",
"date" : "2018-07-09 10:07:18",
"deliveryDuration" : "45",
"delivery_address" : "",
"item" : [ {
"available" : true,
"category" : "Dessert",
"details" : "(Hausgemacht)",
"name" : "Warmer Topfenstrudel",
"price" : 3.9,
"quantity" : 1
} ],
"orderVerified" : false,
"telefon" : "",
"userID" : "xyc@gmail.com",
"userName" : ""
}, {
"comment" : "",
"date" : "2018-07-10 10:07:33",
"deliveryDuration" : "30",
"delivery_address" : "",
"item" : [ {
"available" : true,
"category" : "Dessert",
"details" : "(Hausgemacht)",
"name" : "Warmer Topfenstrudel",
"price" : 3.9,
"quantity" : 1
} ],
"orderVerified" : false,
"telefon" : "",
"userID" : "xyc@gmail.com",
"userName" : ""
}, {
"comment" : "",
"date" : "2018-07-10 10:13:13",
"deliveryDuration" : "10",
"delivery_address" : "",
"item" : [ {
"available" : true,
"category" : "Spezialitäten",
"details" : "Schweinschnitzel mit Parmesan gebacken auf Spaghetti Napoli",
"name" : "Piccata Milanese",
"price" : 12.9,
"quantity" : 1
} ],
"orderVerified" : false,
"telefon" : "",
"userID" : "xyc@gmail.com",
"userName" : ""
}
}
我尝试编写以下函数:
getNewItems: function (order) {
if (db.ref('orders').child(order).child('deliveryDuration').equalTo(45)){
return db.ref('orders').child(order).child('deliveryDuration')
}}
我怎样才能得到过滤的对象?我在想我写了一个 if-else 语句,该函数返回我正在寻找的值。
解决方案
我想你正在寻找这个:
getNewItems: function (order) {
return db.ref('orders').orderByChild('deliveryDuration').equalTo(45));
}}
此 Firebase 查询获取您查询的位置的每个子节点,按deliveryDuration
属性对其进行排序,然后过滤以仅获取等于45
.
推荐阅读
- javascript - 单击按钮时从数组中删除相关的 DOMTokenList 项
- python - 仅使用 __all__ 使模块中的特定符号可导入,fi
- shell - find + grep 作为 if 条件不能按预期工作
- excel - 如何引用嵌入式图表?
- python - 我还尝试注释掉显示错误的行,并且在该代码之后的每一行都显示错误
- android - Facebook 登录不再适用于我现有应用程序的更新版本!我错过了什么?
- android - Android中的签名哈希键
- c# - 无法使用 c# 套接字接收字节
- flutter - 不再发出 Bloc 初始状态
- matlab - 从文件加载 MATLAB 对象