按对象键的firestore查询(代码片段)

author author     2023-05-13     422

关键词:

我在firestore的集合中有一系列嵌套对象,它们具有UID的键。我想通过检查他们的UID是否是对象键(基本上如果它存在)来查询与用户相关的所有文档。这是firestore中的模型:enter image description here

这就是我目前正在尝试返回文件的方式:

  getAllTenancyOffersByUserId() 
    return this.afs.collection('collection_name', ref =>
      ref.where(`application.members.$this._auth.currentUserId`, '==', !null),
    );
  

但这没有任何回报。我知道我可以只查询该状态,但是它会不断更新,因此会导致问题

答案

以下应该做的伎俩:

  getAllTenancyOffersByUserId() 
    return this.afs.collection('members', ref =>
      ref.where(firebase.firestore.FieldPath.documentId(), '==', `$this._auth.currentUserId`)
    );
  

请参阅相应的doc:https://firebase.google.com/docs/reference/js/firebase.firestore.FieldPath#.documentId

另一答案

我相信无法查询对象是否存在。我认为你在对象中查询字段的想法可能是最好的选择。

您可以尝试查询date_modified字段以查找大于1900的任何内容。

getAllTenancyOffersByUserId() 
  return this.afs.collection('collection_name', ref =>
    ref.where(`
      application.members.$this._auth.currentUserId.date_modified`, 
      '>=',
      new Date('1900-01-01')
    ),
  );

另一答案

实际上,你可以做的是过滤你在对象中的任何字符串字段,如下所示:

.collection("collectionName")
.where("mapArray.map.stringField", ">", "''")

这里重要的部分是字符串字段; “>”,“''”

我如何获取 Firestore 数据库 iOS Swift 中对象键的值

】我如何获取Firestore数据库iOSSwift中对象键的值【英文标题】:HowdoigetthevalueforthekeyofanobjectinafirestoredatabaseiOSSwift【发布时间】:2021-05-1822:07:07【问题描述】:letdb=Firestore.firestore()letquery=db.collection("users").whereField("email",isEqual 查看详情

在 Firestore 中,如何在不为每个键创建索引的情况下执行涉及映射中键的复合查询?

】在Firestore中,如何在不为每个键创建索引的情况下执行涉及映射中键的复合查询?【英文标题】:InFirestore,howcanyoudoacompoundqueryinvolvingakeyinamapwithoutcreatinganindexforeverykey?【发布时间】:2018-12-0111:27:27【问题描述】:例如,考虑一... 查看详情

按日期范围查询 Firestore

】按日期范围查询Firestore【英文标题】:Firestorequerybydaterange【发布时间】:2018-04-1013:59:23【问题描述】:我需要帮助来查询具有日期范围的长集合。请参阅以下示例文档。我想使用日期范围查询startTime字段。【问题讨论】:所... 查看详情

Flutter:按时间戳查询 Firestore 文档

】Flutter:按时间戳查询Firestore文档【英文标题】:Flutter:queryFirestoredocumentbytimestamp【发布时间】:2020-12-2614:34:15【问题描述】:我正在尝试按时间戳字段(例如,在开始日期和结束日期之间)查询Firestore文档。时间戳字段返回类... 查看详情

php按对象属性对对象数组进行排序。示例:查询后对wordpress帖子进行排序(代码片段)

查看详情

公司的firestore检索个别更新查询使用飞镖后(代码片段)

...真正被改变。这里是我的监听更新,但浪费了很多公司的FireStore的读取当前查询的代码。Firestore.instance.collection("lists").where(" 查看详情

text查询所有外键的表(代码片段)

查看详情

java查询所有外键的表(代码片段)

查看详情

sql查询没有主键的表(代码片段)

查看详情

Firestore:按文档数组中的项目查询

】Firestore:按文档数组中的项目查询【英文标题】:Firestore:Querybyiteminarrayofdocument【发布时间】:2018-04-0115:10:40【问题描述】:我有2个集合"photos"和"users"并且"users"中的每个文档都有一张或多张照片带有数组的ID。photos>5528c46b>... 查看详情

javascript检查嵌套对象键的存在(代码片段)

查看详情

postgresqljsonb查询每个键的类型(代码片段)

我有一张桌子:CREATETABLEx(idBIGSERIALPRIMARYKEY,dataJSONB);INSERTINTOx(data)VALUES('"a":"test","b":123,"c":null,"d":true'),('"a":"test","b":123,"c":null,"d":"yay","e":"foo","f":[1,2,3]');如何查询该表中每个键的类型,因 查看详情

Firestore 查询列表映射对象

】Firestore查询列表映射对象【英文标题】:FirestorequeryListmapobject【发布时间】:2019-02-1922:07:09【问题描述】:有人可以帮我查询集合中的地图对象列表吗?请在下面找到示例文件seemysampledocumentfromfirestore在上图中,我想根据personI... 查看详情

如何在 Firebase 云 Firestore 中查询一个字段然后按另一个字段排序?

】如何在Firebase云Firestore中查询一个字段然后按另一个字段排序?【英文标题】:HowtoqueryonefieldthenorderbyanotheroneinFirebasecloudFirestore?【发布时间】:2018-04-1410:15:16【问题描述】:我正在努力在firebasecloudfirestore中进行(不是那么)... 查看详情

使用 Firestore/Angularfire2 或 Firestore SDK 查询集合中的内部对象 ID

】使用Firestore/Angularfire2或FirestoreSDK查询集合中的内部对象ID【英文标题】:QueryinnerobjectidinacollectionusingFirestore/Angularfire2orFirestoreSDK【发布时间】:2018-06-2707:59:57【问题描述】:你能告诉我如何查询budgets集合中budgetGroup对象的id吗... 查看详情

如何在firestore中查询嵌套对象[重复]

】如何在firestore中查询嵌套对象[重复]【英文标题】:Howtoquerynestedobjectsinfirestore[duplicate]【发布时间】:2019-03-2503:22:51【问题描述】:我想以以下格式存储数据:"chatName":"Football","chatMembers":["userId":"nSWnbKwL6GW9fqIQKREZENTdVyq2","name":"Nik... 查看详情

在 Firestore REST API 中查询嵌套对象

】在FirestoreRESTAPI中查询嵌套对象【英文标题】:QuerynestedobjectinFirestoreRESTAPI【发布时间】:2018-05-1810:55:03【问题描述】:我一直在查询FirestoreRESTAPI。我可以弄清楚如何通过常规键进行过滤,但我无法弄清楚如何通过嵌套对象键... 查看详情

算法leetcode1409.查询带键的排列(多语言实现)(代码片段)

文章目录1409.查询带键的排列:样例1:样例2:提示:分析题解rustgotypescriptcc++pythonjava原题传送门:https://leetcode.cn/problems/queries-on-a-permutation-with-key/1409.查询带键的排列:给你一个待查 查看详情