说我有这份文件
userProfile: {
createdAt: '2018-01-01',
updatedAt: '2018-01-04'
}
我想检索所有创建后更新的userProfiles
,这意味着满足createdAt < updatedAt
的那些。
您可以在Firestore中这样做吗?
类似这样的东西,但是第二个操作数是一个字段,而不是一个值:
userProfileRef.where("createdAt", "<", "updatedAt")
谢谢
答案 0 :(得分:1)
您将无法通过“标准” Firestore查询执行此操作。
最简单的方法是:
updatedAt
字段中有一个默认的“虚拟”日期(例如1900-01-01)。然后,您将使用userProfileRef.where("updatedAt", ">", "1900-01-01")
或
updatedAt
字段的值时(即在创建后更新文档时)进行更新。
请注意,您无法查询不包含给定字段的文档(有关更多详细信息,请观看此官方video),因此,您不能依靠缺少updatedAt
字段的情况。