var p = {
title: 'Suprise',
body: 'Well done',
tags: ['first', 'post', 'english'],
author: {
name: 'Michael', // Is not unique
email: 'mo@gmail.com', // Should be also unique
fbid: '4545454asdadsa'
},
created: new Date(),
modified: new Date()
};
Вы встраиваете документы, вы денормализуете. Вот как это работает. Теперь вы можете просто получить все сообщения и не запрашивать пользователей, поскольку они уже есть.
Структура данных
Я объясню, как это можно сделать. Я полностью перешел за денормализацию. Это означает, что вам никогда не нужны объединения. Обратите внимание, что некоторые из них могут быть удалены, если они просто бесполезны и не нужны.
Коллекция сообщений
{
title: String,
body: String,
tags: [String],
author: {
name: String,
email: String,
fbid: String
},
created: Date,
modified: Date,
comments: [{
body: String,
created: Date,
modified: Date
}]
}
Коллекция пользователей
{
name: String,
email: String,
fbid: String,
posts: [{
title: String,
body: String,
tags: [String],
created: Date,
modified: Date,
comments: [{
body: String,
created: Date,
modified: Date
}]
}]
}
Сборник комментариев
{
body: String,
created: Date,
modified: Date,
author: {
name: String,
email: String,
fbid: String
},
post: {
title: String,
body: String,
tags: [String],
created: Date,
modified: Date
comments: [{
body: String,
created: Date,
modified: Date
}]
}
}