【发布时间】:2022-01-31 22:42:12
【问题描述】:
我使用 firebase admin 并使用 nodejs 通过电话号码从 firebase 获取数据。当我获得成功时,我只想获得一次文档并每次都使用它。有可能吗?
图片:
首先我通过电话获得文件的样子。 示例:
const phone = await admin.firestore().collection('users').where('phone_number', '==', phone).get()
之后,我希望每次在我的代码中使用文件电话看起来像:
await handleLogic(phone)
然后
async function handleLogic(phone) {
//inside here i need call await admin.firestore().collection('users').where('phone_number', '==', somePhone).get() or re use phone in parameter ?
phone.ref.collection("subcollection").get()
.then(() => {
let data = {
created_at: timeNowFirebase(),
};
phone.ref.collection(subcollection).doc(someId)
.set(data);
}
我有一个问题:在函数 handleLogic(phone) 内部,我需要重新调用 admin.firestore().collection('users').where('phone_number', '==', phone).get( ) 或仅使用参数 phone 并使用 phone.ref.collection(subcollection).doc(someId).set(data); 。它会将子集合设置为我的手机正确吗?
【问题讨论】:
-
您能否分享您的文档截图并说明您要从哪里复制数据以及复制到哪里?
-
你用缓存怎么样
-
@Dharmaraj 我刚刚更新了图片。我只是质疑当我使用 phone.ref.collection("subcollection").get() 我需要重新调用 await admin.firestore().collection('users').where('phone_number', '==', phone ).get() 或不调用它。 phone.ref.collection("subcollection").get() 将自动通过电话号码获取正确的文档?
-
@JatinMehrotra 为什么我需要在这种情况下使用缓存
-
您首先在哪里运行
phone查询?如果您可以按运行顺序共享代码,那么它可能会帮助我们了解您到底在问什么?
标签: node.js firebase google-cloud-firestore