0
Я пробовал много комбинаций не получилось, так что вам нужна ваша помощь.Mongoose заполнить конкретный массив экземпляра
Рассмотрим ваши есть схема документа и версии
var VersionSchema = mongoose.createSchema("version", {
version: { type: Number},
metadata: { type: Schema.Types.ObjectId, ref: 'Metadata' }
});
var documentSchema = mongoose.createSchema("document", {
projectId: { type: Schema.Types.ObjectId},
versions: [VersionSchema],
deleted: { type: Boolean, default: false}
});
данные будут выглядеть следующим образом
{
_id: a58107da0dc3da020998787c,
projectId: 09434766ab47c29609972596,
deleted: false,
versions: [
{ _id: 9ac67dc1b84df1ff09988ea1, version: 1, Metadata: [Object] },
{ _id: 9ac67dc1b84df1ff09988ea2, version: 2, Metadata: [Object] }
]
}
Я хочу, чтобы заполнить только последнюю версию document..say версии 2..not все суб версии ..
Я попытался это, но нужна помощь ..
Document.findOne({ projectId: projectId }, function(error, document) {
var options = [{
path: 'versions.Metadata,
model: Metadata
//,
//match: { version: 2 }
}];
Version.populate(document, options, function(err, doc) {
deferred.resolve(doc);
});
});
Возможно, это будет опечатка, но не должна ли она быть «path:» versions.metadata ', '? – JohnnyHK
@JohnnyHK заселение работает уже .. но я хочу только заполнить версию: 2 Метаданные не первой записи .. – procoder
'match' применяется к полям« Метаданные », а не к полям элементов« версий ». – JohnnyHK