首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从firestore集合中检索数据

从firestore集合中检索数据
EN

Stack Overflow用户
提问于 2021-04-08 21:41:14
回答 1查看 54关注 0票数 0

我的firebase集合设置如下:

代码语言:javascript
运行
复制
customers
uid
subscriptions
subscriptions uid
items
    plan: true or false

我需要访问此计划变量,以检查计划是活动的还是非活动的?如果需要,我可以在firestore中附加一张配置的照片?但这是我目前用来从firestore获取数据的代码。我仍然可以使用它,但可以相应地更改它吗?

代码语言:javascript
运行
复制
 firestore 
.collection("profiledata") 
.doc(userID) 
.get() 
.then((doc) => { 
setProfileData(doc.data()); 
}); 

这是显示配置的照片

这是第二张照片

在第二张照片中--计划部分有一个“行”,表示活动或不活动...我要抓住它!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-04-08 22:33:26

要获取用户的所有订阅(包含项目),应为:

代码语言:javascript
运行
复制
firebase.collection('customers').doc(userID).collection('subscriptions').get()
  .then(subscriptions => {
    subscriptions.forEach(subscription => {
      // subscription.data() should give you a subscription with its items
      console.log(subscription.data());
    });
  })

如果存在订阅,则可以这样查询具有给定客户的status 'active'的订阅:

代码语言:javascript
运行
复制
firebase.collection('customers').doc(userID).collection('subscriptions')
  .where('status', '==', 'active').get()
  .then(activeSubscriptions => {
    // if this is true, the user has no active subscription.
    console.log(activeSubscriptions.empty)
  });

获取订阅的status

代码语言:javascript
运行
复制
firebase.collection('customers').doc(userID).collection('subscriptions').get()
    .then(subscriptions => {
        if (subscriptions.empty) {
            console.log('User has no subscriptions')
        } else if (subscriptions.size > 1) {
            console.log('ERROR: User has multiple subscriptions')
        } else {
            subscriptions.forEach(theSubscription => {
                // there is only this subscription
                const data = theSubscription.data();
                console.log(data.status);
            });
        }
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67005261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档