firebase - 在时间戳字段上查询 Firestore 数据库
问题描述
我对firestore(和编程)比较陌生,无法在线找到我的问题的解决方案。
希望查询现有集合中的文档。这些文档都有一个时间戳字段。
当我现在尝试查询所有文档“>”或“<”时,查询工作正常。当我在 7 天前尝试查询“>”或“<”时,查询没有返回任何内容。我敢肯定,我可能只是错过了一些小东西。谢谢你的帮助!
这些按预期返回文件:
var today = new Date();
db.collection("****").where('display', '==', true).where('createdAt', '>', today).get().then(function(querySnapshot) {
和
var today = new Date();
db.collection("****").where('display', '==', true).where('createdAt', '<', today).get().then(function(querySnapshot) {
这些不返回任何东西:
var today = new Date()-604800000;
db.collection("****").where('display', '==', true).where('createdAt', '>', today).get().then(function(querySnapshot) {
和
var today = new Date();
db.collection("****").where('display', '==', true).where('createdAt', '>', today-604800000).get().then(function(querySnapshot) {
只是为了它
var today = new Date()-1;
db.collection("****").where('display', '==', true).where('createdAt', '>', today).get().then(function(querySnapshot) {
我看到其他人要求查看 Firestore 中该字段的外观,所以这是一张图片: 抱歉,这是一个链接
请让我知道是否还有其他可能有用的信息。谢谢!
编辑以显示下一次尝试:
var config = {****};
firebase.initializeApp(config);
const db = firebase.firestore();
const settings = {/* your settings... */ timestampsInSnapshots: true};
db.settings(settings);
var today = new Date();
var yesterday = date.setDate(today.getDate() - 1);
db.collection("****")
.where('display', '==', true)
.where('createdAt', '>', yesterday)
.get()
.then(function(querySnapshot) {console.log(createdAt)});
解决方案
好的。所以我从一位非常有帮助的谷歌开发者那里得到了一些帮助。
这最终奏效了。
var beginningDate = Date.now() - 604800000;
var beginningDateObject = new Date(beginningDate);
db.collection("****")
.where('display', '==', true)
.where('createdAt', '>', beginningDateObject)
.get()
.then(function(querySnapshot) {console.log(/* ... */)});
推荐阅读
- javascript - 如何在猫鼬 findOne 查询中进行逻辑与?
- python - 试图打印人类可读的 ascii 字符串
- c# - 将文件复制到新创建的文件夹中,出现错误“它正在被另一个进程使用
- c++ - 输入输入并逐个读取字符后,找到到达缓冲区开头的方法
- css - Sass嵌套,标记为第一个父元素
- css - 如何使用半宽像素设置“左”
- java - 更改类时如何在 Wildfly 中更新 MANIFEST
- ios - 想要在自定义键盘扩展中输入文本
- python - 如何在 Python 中修复“ImportError: cannot import name 'numpy_type_map'”?
- javascript - 在组件上测试 rxjs get 方法(服务)