У меня есть модуль под названием «Организация» с массивом вызовов пользователей, который содержит объекты UserSchema. Теперь мне нужен запрос, чтобы получить всех пользователей из всех документов организации в одном массиве.
Как видите, я новичок в mongodb и обычно использую sql. Но без соединений я не знаю, что делать.
Модуль организации:
const OrganisationSchema = new Schema({
name: { type: String, required: true },
users: [UserSchema],
version: String,
});
module.exports.Organisation = mongoose.model('Organisation', OrganisationSchema);
Пользовательская схема:
module.exports.UserSchema = new Schema({
name: String,
roles: [String]
})
Моя первая попытка:
routes.get('/', (req, res, next) => {
Organisation.find().populate('users').exec((err, users) => {
if (err) res.json(err.message)
else { res.json(users) }
});
Результат:
[
{
"users": [
{
"roles": [ "coordinator" ],
"_id": "5aafcf80dd248f7ef86e0512",
"name": "Peter"
"__v": 0
}
],
"_id": "5aafcf80dd248f7ef86e05cf",
"name": "DEFAULT",
"__v": 1
},
{
"users": [
{
"roles": [ "admin", "coordinator" ],
"_id": "5aafcf80dd248f7ef86e0500",
"name": "Max"
"__v": 0
}
],
"_id": "5aafcf80dd248f7ef86e05ce",
"name": "Organisation_01",
"__v": 1
}
]
Что мне нужно:
[
{
"roles": [ "coordinator" ],
"_id": "5aafcf80dd248f7ef86e0512",
"name": "Peter"
"__v": 0
},
{
"roles": [ "admin", "coordinator" ],
"_id": "5aafcf80dd248f7ef86e0500",
"name": "Max"
"__v": 0
}
]