我正在尝试使用firestore构建一个聊天应用程序,我很困惑在一个房间中设置消息作为子集合或根集合。如果我使用子集合,我们如何限制从该子集合返回的记录?
答案 0 :(得分:0)
如果您在对象messages
中的每个文档下都有子集rooms
,那么您可以首先创建对该集合的引用来获取房间room1
的消息:
var ref = firebase.firestore().collection('/rooms/room1/messages');
然后获取文件:
ref.get().then(function(querySnapshot) {
querySnapshot.forEach(function(document) {
...
});
});
如果您只想通过名为timestamp
的字段获取10条最新消息,请执行以下操作:
ref.orderBy("timestamp", "desc").limit(10).get().then(function(querySnapshot) {
...