我正在使用Parse.com来管理我的模型,而我遇到了一个无法找到good
解决方案的问题。
假设我必须建模:
Team: name, number, country
Member: name, Team (Pointer to Team)
我想获取所有团队,并在一个查询中包含所有成员。如果无法做到这一点,我将不得不为我提取的每个团队运行一个查询。
Parse有可能吗?我读了他们的文档。但找不到办法... ...
答案 0 :(得分:3)
如果关键是要获得所有成员和团队,为什么不让所有成员使用
includeKey("Team")
在成员查询中包含所有团队对象?
另一方面,在设计解析(或任何其他NoSQL数据库)时,您应该首先定义要进行的查询,然后设计" schema"。
由于您有一个指向Team from Member的指针,因此这似乎是一对多的关系。团队可以拥有许多成员,但成员只能属于一个团队。
那么,您最常会执行哪些查询? 永远不会列出会员所属的所有团队",因为它只能是一个。 您将查询成员,也可能很高兴看到团队。 您(显然)会查询团队,并需要获得该团队的所有成员。 与团队或成员相关的其他查询?
如果您需要团队中的成员列表,您可以制作"会员"从团队到会员的PFRelation。我知道如果您习惯使用SQL数据库,这似乎很奇怪,但这在NoSQL数据库中并不常见。
答案 1 :(得分:1)
通过帖子中的链接,我最好的猜测是:
var Member = Parse.Object.extend("Member");
var query = new Parse.Query(Member);
// Include the Team data with each Member
query.include("post");
query.find({
success: function(members) {
for (var i = 0; i < members.length; i++) {
// This does not require a network access.
var team = comments[i].get("team");
}
}
});
上述(未经测试的)样本是从include
上的部分修改的。
您可能无法在此处执行此操作,具体取决于members
列表和team
列表的大小...我在文档中遇到了这个问题:
如果要检索字段包含Parse.Object的对象 匹配不同的查询,您可以使用matchesQuery。注意 默认限制为100,最大限制为1000适用于内部 查询也是如此,因此对于您可能需要构建的大型数据集 仔细查询以获得所需的行为。为了找到 对包含图片的帖子的评论,您可以这样做: