带有相关文档引用的Firebase Firestore查询

时间:2017-10-26 11:40:32

标签: firebase google-cloud-firestore

我正在尝试使用Firestore建模“成员资格”。这个想法是有公司,用户和会员。

会员资格集合存储对公司和用户的引用,以及作为字符串,e..g管理员或编辑者的角色。

如何查询让公司具有某个角色的用户?

这是我目前使用的一些基本日志记录。

{
  "name": "hr",
  "version": "1.0.0",
  "description": "first node app server",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/pereiraryan/domains.git"
  },
  "keywords": [
    "domains"
  ],
  "author": "ryan pereira",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/pereiraryan/domains/issues"
  },
  "homepage": "https://github.com/pereiraryan/domains#readme",
  "dependencies": {
    "async": "^2.5.0",
    "mongoose-post-find": "0.0.2",
    "colors": "^1.1.2",
    "debug": "0.7.4",
    "express": "4.2.0",
    "mongoose": "^3.8.11"
  } ,
  "scripts": {
    "populate": "node ./bin/populate_db"
    }
}

const currentCompanyID = 'someid'; return database .collection('memberships') .where('company', '==', database.doc(`companies/${currentCompanyID}`)) .where('role', '==', 'admin') .get() .then(snap => { snap.forEach(function(doc) { console.log(doc.id, ' => ', doc.data()); const data = doc.data(); console.log(data.user.get()); }); }) .catch(error => { console.error('Error fetching documents: ', error); }); 向用户返回一个承诺,但是我必须为每个看起来效率低下的用户做这个吗?

最好的方法是什么?

0 个答案:

没有答案