首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoose填充特定数组实例

Mongoose填充特定数组实例
EN

Stack Overflow用户
提问于 2015-02-08 09:30:01
回答 1查看 696关注 0票数 0

我试了很多组合都没有效果,所以需要你的帮助。

假设您有一个文档架构和版本

代码语言:javascript
复制
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}
});

数据将如下所示

代码语言:javascript
复制
{
    _id: a58107da0dc3da020998787c,
    projectId: 09434766ab47c29609972596,
    deleted: false,
    versions: [
        { _id: 9ac67dc1b84df1ff09988ea1, version: 1, Metadata: [Object] },
        { _id: 9ac67dc1b84df1ff09988ea2, version: 2, Metadata: [Object] }
    ]
}

我只想填充最新版本document..say version 2..not所有子版本..

我试过了,但是需要帮助..

代码语言:javascript
复制
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);
    });
});
EN

回答 1

Stack Overflow用户

发布于 2015-02-10 01:47:52

代码语言:javascript
复制
Document.findOne({ projectId: projectId }, function(error, document) {
    var options = [{
                    path: 'versions.Metadata,
                    model: Metadata
                   }];
    var version = document.versions[document.versions.length - 1];
    Version.populate(version, options, function(err, updatedVer) {
         deferred.resolve(updatedVer);
        });
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28389587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档