У меня есть две модели: модель пользователя и модель элемента. Каждый пользователь может иметь много элементов, связанных с ними. Когда я смотрю, чтобы получить данные для пользователей и связанные с ними предметы, я получаю только идентификаторы от предметов. Я хочу получить все данные, связанные с Предметами, чтобы затем передать их обратно во внешний интерфейс.
Я знаю, что мне как-то нужно для каждого пользователя найти findById, а затем отобразить все новые данные в новый объект данных.
const UserSchema = new Schema(
{
id: Number,
name: String,
website: String,
items: [{
type: mongoose.Schema.Types.ObjectId,
ref: 'Item'
}]
},
{ timestamps: true }
);
const ItemSchema = new Schema(
{
id: Number,
x: Number,
y: Number,
xSize: String,
ySize: String,
imageSource: String,
user: { type: mongoose.Schema.ObjectId, ref: 'User' }
},
{ timestamps: true }
);
var post = User.find({})
.populate('Items')
.exec(function (error, items) {
items.map(function (item) {
item.items.map(function (item2) {
return item2.findById({ "_id": item2._id })
})
})
})
[ { items: [ 5d0b4d04e8fe260f791a0dc8, 5d0b4d04e8fe260f791a0dc9 ],
_id: 5d0b4d04e8fe260f791a0dca,
name: 'Dave',
website: 'http://www.bbc.com',
createdAt: 2019-06-20T09:08:20.814Z,
updatedAt: 2019-06-20T09:08:20.814Z,
__v: 0 },
{ items:
[ 5d0b4d707c72800f8f9b1a10,
5d0b4d707c72800f8f9b1a11,
5d0b4d707c72800f8f9b1a12 ],
_id: 5d0b4d707c72800f8f9b1a13,
name: 'Steve',
website: 'http://www.google.com',
createdAt: 2019-06-20T09:10:08.376Z,
updatedAt: 2019-06-20T09:10:08.376Z,
__v: 0 },
Я хочу, чтобы все данные элементов были заполнены всеми данными схемы, а не только их идентификатором.