У меня есть схемы для ActorCollections и фильмы:Как я могу запросить субдокументы MongoDB с помощью мангуста?
var mongoose = require("mongoose");
var movieSchema = new mongoose.Schema({
title : String,
score : Number,
year : String,
imdbId : String,
timestamp: { type : Date, default: Date.now },
});
var actorCollectionSchema = new mongoose.Schema({
imdbId : String,
movies: [movieSchema],
actor: String,
timestamp: { type : Date, default: Date.now },
});
module.exports = mongoose.model('ActorCollection', actorCollectionSchema);
Я хотел бы, чтобы сформировать запрос, который первым находит правильный actorCollection, то от этого actorCollection.movies массива найти фильм по какой-то собственности.
Я попытался
ActorCollection.findOne({imdbId: imdbId}, function(err, collection){
//collection.movies is my array
// any mongoose methods to query this array???
}
Я также видел методы, используя $ elemMatch, чтобы найти элементы, вложенные в подразделах документы, но я не уверен, как первый фильтр по ActorCollection. Если несколько актеров появляются в одном фильме, я не могу определить, какой ActorCollection я буду изменять.
Любые идеи? Могу ли я объединить запросы, чтобы достичь этого?
Вы можете принять любой ответ, который решил вашу проблему. – chridam