[英]Order by a number field where a timestamp is on a given date in Cloud Firestore?
[英]Order and get element by timestamp using cloud Firestore and Javascript
我有一个可以通过Cloud Firestore访问的数据库。 到目前为止,如果我努力解决链接问题,它仍然可以正常工作。 但是,对于某些信息,我想在时间戳之后对数据库的集合进行排序,并写出最新的事件,在我的情况下是最新的温度。
在图中的链接下方可以看到,我想要的结果将是温度19(546787867678asd8和时间戳:2019年3月5日UTC + 1)
我已经尝试过不同的解决方案,但没有一个导致预期的结果。 不幸的是,我不知道为什么。 您可以在下面找到最新代码
function getLastData() {
return admin.firestore().collection('temperatur').orderBy('timestamp', 'desc').limit(1).get().then(querySnapshot => {
if (!querySnapshot.empty) {
const queryDocumentSnapshot = querySnapshot.docs[0].temp;
console.log('The temperature is ', queryDocumentSnapshot);
return queryDocumentSnapshot;
} else {
console.log('No document');
return null;
}
});}
console.log(getLastData());
我期望如下所示:温度为23但是,结果是:温度未定义
通过docs ,您必须使用.data()
或.get(<prop>)
将其提取:
function getLastData() {
return admin.firestore().collection('temperatur').orderBy('timestamp', 'desc').limit(1).get().then(querySnapshot => {
if (!querySnapshot.empty) {
const queryDocumentSnapshot = querySnapshot.docs[0].get('temp');
console.log('The temperature is ', queryDocumentSnapshot);
return queryDocumentSnapshot;
} else {
console.log('No document');
return null;
}
});}
console.log(getLastData());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.