首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >收藏中文档下的SubCollection

收藏中文档下的SubCollection
EN

Stack Overflow用户
提问于 2022-05-29 11:05:28
回答 1查看 64关注 0票数 0

我使用颤振创建集合> userid> collection>doc>subscollection。

因此,用户将创建一个项,该项将具有属性。所以我想为这些属性创建一个子集合。

这样我就可以提取与该项目相关的所有属性。

因此,项集合将包含很少的详细信息,然后属性子集合将具有其他详细信息。

项目是在一个页面中创建的,当用户单击create时,我会将它们带到属性页面。

因此,当他们单击“电梯”按钮时,我使用以下代码将文档id发送到属性页

代码语言:javascript
复制
  var docId =FirebaseFirestore.instance.collection('items')
          .doc(userud).collection('items').doc().id;


                Navigator.of(context)
                    .push(MaterialPageRoute(builder: (context) => 
               properties(data: docId)));

现在在属性页面中,我试图接收下面的文档id;

代码语言:javascript
复制
         class properties extends StatefulWidget {
        final data;
       properties({Key? key, required this.data}) : super(key: key);
       String user = FirebaseAuth.instance.currentUser!.uid;

      @override
      State<properties> createState() => _properties();
      }

然后,我使用以下方式加载它;

代码语言:javascript
复制
     late final documentID;
  void initState() {
super.initState();

documentID=widget.data;

 }

最后,要在属性中添加文档,请按照“电梯”按钮中的代码进行操作。

代码语言:javascript
复制
CollectionReference coll = FirebaseFirestore.instance.collection('items').
doc(user).collection('items').doc(data)
.collection('properties');

它不是在items的doc下创建属性,而是创建一个与项并行的单独集合。

请帮帮忙。

EN

回答 1

Stack Overflow用户

发布于 2022-06-01 08:55:51

我用Firestore 9客户端库复制了您的案例,并且我能够在“城市”集合的文档下创建一个“properties”集合,而不是创建一个与“城市”平行的单独集合。

这就是我所实施的:

“collection-> doc-> collection-> doc->sub collection”,对我来说是cities-> 101(doc id)-> cities->id(doc id)->properties->(doc id)

以下是JS的工作代码,

代码语言:javascript
复制
import { initializeApp } from "firebase/app"
import {doc, setDoc, getFirestore,collection} from "firebase/firestore"

// For Firebase JS SDK v7.20.0 and later, measurementId is optional

const firebaseConfig = { 

      //your firebaseConfig
   };

const app=initializeApp(firebaseConfig);
const db=getFirestore(app);
const cityRef = doc(collection(db, 'cities/101/cities'));
const id=cityRef.id;
const colRef=collection(db,`cities/101/cities/${id}/properties`)
const docRef=doc(colRef);
setDoc(docRef,{"name":"hawai"})
console.log(id);
// setDoc(cityRef, { capital: true }, { merge: true });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72423084

复制
相关文章

相似问题

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