0

私は多くの組み合わせを試しましたがうまくいかなかったので、あなたの助けが必要です.

ドキュメントのスキーマとバージョンがあると考えてください

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] }
    ]
}

最新バージョンのドキュメントのみを入力したい..バージョン 2 など..すべてのサブバージョンではありません..

私はこれを試しましたが、助けが必要です..

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);
    });
});
4

1 に答える 1