Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否将Firestore文档作为普通Javascript对象获取?_Javascript_Json_Firebase_Google Cloud Firestore - Fatal编程技术网

是否将Firestore文档作为普通Javascript对象获取?

是否将Firestore文档作为普通Javascript对象获取?,javascript,json,firebase,google-cloud-firestore,Javascript,Json,Firebase,Google Cloud Firestore,我目前正在手动对firestore中的文档字段进行初始化,并将它们放入一个对象中,然后将其字符串化为JSON 有没有办法使这个过程自动化?比如: var userEnrollments = ToJson(await admin.firestore().collection(USERS + "/" + x.uid + "/" + ENROLMENT)); 尝试使用可观察的 var userEnrollments = Observable<User>; Document userDoc

我目前正在手动对firestore中的文档字段进行初始化,并将它们放入一个对象中,然后将其字符串化为JSON

有没有办法使这个过程自动化?比如:

var userEnrollments = ToJson(await admin.firestore().collection(USERS + "/" + x.uid + "/" + ENROLMENT));
尝试使用可观察的

var userEnrollments = Observable<User>;
Document userDoc = this.db.doc<User>('User/'+id);
this.userEnrollments = this.userDoc.valueChanges();
var userEnrollments=可观察;
Document userDoc=this.db.doc('User/'+id);
this.userEnrollments=this.userDoc.valueChanges();
您可以使用如下数组:
Observable
FirestoreCollection

我在角火中使用类似的方法。 您也可以在firebase中使用
ASYNC

有一个方法,可以将文档的全部内容(无子集合)作为普通JavaScript对象返回

admin.firestore().doc('path/to/doc').get().then(snapshot => {
    const data = snapshot.data()  // a plain JS object 
})

不幸的是,这似乎无法捕获引用。例如,注册文档引用了一个课程文档,但使用snapshot.data()将其显示为文档引用,而不是普通的JS对象。对,这就是它的工作方式。Firestore中的所有文档读取都很浅。您必须再次查询才能获得下一张单据。这让我非常难过,我想将ID存储到那些引用中以获得深层副本会更有意义,而这会破坏整个事情的目的。。