0

我现在面对这个问题已经有一段时间了,请注意这是一种模型结构问题。我有一个群组集合,用户可以创建一个群组,添加一些详细信息,例如名称、描述、位置等。此外,用户可以邀请朋友加入他的群组。考虑到这些朋友已经注册到我的网络应用程序,只需获取受邀朋友的 _id 并将其添加到我的组文档中,如下所示:

{creator: ...,name:"bla bla",desc:"bla bla"... users:[ invitedFriend_id,invitedFriend_id..]

我也在做这个操作的反向操作,这意味着受邀朋友 ID 为这样的一组组(用户文档)获取新值:

{name:"bla bla",services:{...},groups:{invited:[group_id that invited this user..],owned:[group_id this user have created]}

真正的问题是当用户邀请尚未注册的朋友时,所以明显的问题是我将 group_id 保存在不存在的用户中。我想通过检查电子邮件是否尚未被任何用户使用来检查用户是否尚未注册,但我害怕使数据库过载,因为在整个用户集合中搜索某个电子邮件似乎非常错误......

4

1 回答 1

1

嗯,这就是数据库的用途——对吧?这样您就可以有效地搜索给定值的整个数据。

假设您使用 Meteor 帐户,此查询将有所帮助:

Meteor.users.findOne({'emails.address': email})

如果有一个给定的用户email,这将返回该用户。否则它将返回null

于 2013-11-06T12:22:51.183 回答