【发布时间】:2021-12-10 05:57:14
【问题描述】:
我需要执行查询以获取子集合中最旧的文档。 我想用尽可能少的读取来执行这个查询。 数据库说明: 基于 Firebase。 设备的集合。每个设备都包含一组回调。对于特定设备,我需要获取最早的回调(回调有时间戳)。
我想我知道如何使用设备唯一 ID 执行此查询,但我想通过设备的某些字段过滤来做到这一点,此字段也是唯一的。 我可以通过使用他的所有回拨来查询设备来做到这一点,但这会向我收取实际需要的更多读取费用。
使用 ID 工作的查询:
admin
.firestore()
.collection("devices/{device_id}/callbacks")
.{order_by_timestamp}
.limit(1)
.get()
.then((data) => {
let callbacks = [];
data.forEach((doc) => {
callbacks.push(doc.data());
});
return res.json(callbacks);
})
.catch((err) => console.error(err));
【问题讨论】:
标签: node.js firebase google-cloud-firestore collections