Я нашел этот поддокумент по его matchName и teamName, и я хочу показать, что находится в Players [] для указанного teamName. Журналы помогают вам понять, что я преследую.
Вот схема
var MatchSchema({
matchName: {
type: String,
unique: true,
},
teams: [{
teamName: String,
players: [] <------ this is the array I want to display
}]
});
Вот находкаOneAndUpdate
var filter = {matchName: 'matchOne', 'teams.teamName': 'teamOne'}
var update = {$push: {'teams.$.players': 'playerOne'}}
var option = {new: true}
Match.findOneAndUpdate(filter, update, option, function (err, result) {
if (err) {
console.log(err);
} else {
console.log(result); <--- First Test
}
})
Первый тест регистрирует это
{ _id: 5b8899ebe9bc4450811b18a5,
matchName: 'matchOne',
teams:
[ { players: ['playerOne'], _id: 5b8899efe9bc4450811b18a6, teamName: 'teamOne' } ]
} // Logs the Entire Match
Второй тест
Match.findOneAndUpdate(filter, update, option, function (err, result) {
if (err) {
console.log(err);
} else {
console.log(result.teams); <--- Second Test
}
})
Второй тест регистрирует это
CoreMongooseArray [
{ players: [ 'playerOne' ], <--- what I want to log
_id: 5b8862912733184d499c2f2e,
teamName: 'teamOne' }
] // Logs the Array of the Teams
Теперь ... Я хочу знать, как регистрировать массив игроков, когда я указываю teamName.
Нечто подобное ...
console.log(teams.teamName = "teamOne".players);
________ UPDATE _________
Я использовал метод _id для отображения массива игроков
console.log(result.teams.id(req.params.id).players)
Я дал командам объект _id, чтобы я мог использовать метод .id для mongoose
var MatchSchema({
matchName: {
type: String,
unique: true,
},
teams: [{
_id: String, <------ can be used in the .id method to identify this team
teamName: String,
players: []
}]
});