0-embed
Other member addresses
for an address & group_name:
1.
var
x
=
db.addresses.findOne({address:
address})
2.
var
y
=
db.memberships.findOne({person:
x.person,
group_name:
group_name})
3.
var
z
=
db.memberships.find({group:
y.group})
4.
for
m
in
z:
db.addresses.findOne({person:
m.person})
Embed Everything
Other member addresses
for an address & group_name:
db.groups.findOne({memberships:
{$elemMatch:
{address:
address,
group_name:
group_name}}})
Slide 14
Slide 14 text
Embed Everything
How do we change a Person’s name?
Embed Trivial Cases
Other member addresses
for an address & group_name:
1.
var
x
=
db.users.findOne({address:
address,
"groups.name":
group_name})
2.
db.users.find({"groups.id":
...})