Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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
Javascript 我能得到';creationTime';当我在Firestore中创建新文档时(而不是在创建后使用';documentRef.get()';),从而避免读取?_Javascript_Firebase_Google Cloud Firestore - Fatal编程技术网

Javascript 我能得到';creationTime';当我在Firestore中创建新文档时(而不是在创建后使用';documentRef.get()';),从而避免读取?

Javascript 我能得到';creationTime';当我在Firestore中创建新文档时(而不是在创建后使用';documentRef.get()';),从而避免读取?,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,目标:在文档创建过程中获取新Firestore文档的创建时间 首先,我使用相应的数据创建一个新文档newDocumentData,并使用创建时间创建一个字段creationTime,如下所示: const newDocumentRef=wait collectionRef.add({ …新文档数据, creationTime:firebase.firestore.FieldValue.serverTimestamp() }) 然后,我需要creationTime,我会这样做 const doc

目标:在文档创建过程中获取新Firestore文档的创建时间

首先,我使用相应的数据创建一个新文档
newDocumentData
,并使用创建时间创建一个字段
creationTime
,如下所示:

const newDocumentRef=wait collectionRef.add({
…新文档数据,
creationTime:firebase.firestore.FieldValue.serverTimestamp()
})
然后,我需要
creationTime
,我会这样做

const document=wait newDocumentRef.get()
if(document.exists){
const documentData=document.data()
}
…以最终获取我的
documentData.creationTime

我的问题是:有没有办法在第一步使用
newDocumentRef
获得
creationTime
,从而避免流程的其余部分


谢谢!

不,客户端SDK无法“在第一步中获取
creationTime
的值”。返回一个哨兵值,告诉服务器在写入数据中分配服务器生成的时间戳

换句话说,
creationTime
的确切值将由服务器计算,如果您想获得该值,您需要查询数据库以获取该值



请注意,另一方面,当您返回(即通过API端点响应)一个包含
createTime
字段的对象时,客户端SDK不可能“在第一步中获取
creationTime
的值”.返回一个sentinel值,该值告诉服务器在写入的数据中分配服务器生成的时间戳

换句话说,
creationTime
的确切值将由服务器计算,如果您想获得该值,您需要查询数据库以获取该值



请注意,另一方面,当您返回(即通过API端点响应)一个包含
createTime
字段的对象时,

Ok。我认为这不是我的情况,我没有使用Firestore REST API…因为服务器返回一个引用(上述代码示例中的newDocumentRef)在第一步中,使用“id”和其他数据(firestore字段、父级等),我考虑在这些数据中使用creationTime…而不是执行ref.get()因为在某些情况下,我只需要创建时间。但没问题,我会像以前那样做。谢谢!我理解,混合使用JS SDK和调用REST API不是很容易的,特别是如果数据库中有安全规则……我刚才提到的事实是,使用REST API我们可以取回文档(带有一些额外的“技术”字段)因为注意到这一点很有意思,IMO.Ok。我认为这不是我的情况,我没有使用Firestore REST API…因为服务器在第一步返回一个引用(上面代码示例中的newDocumentRef),带有“id”和其他数据(Firestore字段、父级等),我想在这些数据中加入creationTime…而不是执行ref.get()因为在某些情况下,我只需要创建时间。但没问题,我会像以前那样做。谢谢!我理解,混合使用JS SDK和调用REST API不是很容易的,特别是如果数据库中有安全规则……我刚才提到的事实是,使用REST API我们可以取回文档(带有一些额外的“技术”字段)因为注意到这一点很有趣,IMO。