差异"/>
文档与收藏参考之间的差异
我一直在使用Google Firebase平台的NodeJS实现,这是一个绝对的梦想。我只是有一个关于从数据库中获取数据的不同方式的问题。
说我在数据库中具有以下设置:
users (collection) -
user_1234 (document) --
clients (sub-collection) -
client_abcd (document) -
name: Lewis
email: [email protected]
etc...
并且我想从client_abcd
的用户子集合中存储的clients
文档中获取数据,我在调用中有几种引用它的方法:
或者通过一系列收藏夹引用文档:db.collection('users').doc('user_1234').collection('clients').doc('client_abcd').get().then(user => {return user});
或者,我可以使用模板文字直接引用文档:db.doc('users/user_1234/clients/client_abcd').get().then(user => {return user});
[我认为,除了更清晰的代码之间的明显区别外,我并不是在谈每种代码的好处。例如,第一种解决方案是否需要对数据库的更多调用,从而在该期间内对可用配额的使用量更多?
两者之间的另一个明显区别是,在第一个中您可以从一个集合中获取多个文档,而后者只是为单个文档调用数据库,因此这是第一个具有的优势。
在官方文档中,仅显示使用第一个选项:
[如果有人以前使用过此库,并且对此有更好的了解,那将非常有用。
谢谢您!
回答如下:这两个调用之间在访问后端(以及如何计费)方面没有区别:
db.collection('users').doc('user_1234').collection('clients').doc('client_abcd')
db.doc('users/user_1234/clients/client_abcd')
区别纯粹是语法上的,因此您可以使用任意一个。
您还可以将路径传递给collection
方法,因此例如要获取子集合中的所有文档,您可以执行以下任一操作:
db.collection('users').doc('user_1234').collection('clients')
db.collection('users/user_1234/clients')
更多推荐
文档与收藏参考之间的差异
发布评论