【发布时间】:2018-09-08 00:41:22
【问题描述】:
我有一个集合accounts,结构如下:
现在我有一个拥有两个帐户的用户:
如何进行查询以获取此用户的帐户并将其作为承诺的解决方案返回?
这是我尝试过的。它返回[]
getAccounts(user_id, userRef) {
return new Promise((res, rej) => {
this.db.runTransaction((transaction) => {
return transaction.get(userRef.doc(user_id)).then((userDoc) => {
let accounts = []
if (!userDoc.exists) {
throw "User Document does not exist!";
}
let userData = userDoc.data()
let accountList = userData.accounts
for (var id in accountList){
transaction.get(this.ref.doc(id)).then(ans => {
accounts.push(ans.data())
}).catch(e => {
console.log(e)
})
}
return accounts
}).then(function (ans) {
res(ans)
}).catch((e) => {
console.log(e)
});
}).catch(function (err) {
console.error(err);
rej(err)
});
})
}
【问题讨论】:
标签: node.js firebase nosql google-cloud-firestore