我的模型包含与其他模型的关联,这些模型显然只与ObjectId一起存储。我想知道的是,是否有办法传递选项以扩展所有关联或一组特定的关联。
所以'项目模型'看起来像这样(例子):
item.save(function(error, item) { ... })
当你这样做时:
item.save({ populate: false }, function(error, item) { ... })
它会自动展开'项目中包含的所有关联。'但是,如果您传入此选项,则不会展开:
memcpy(start_mem, &meta, sizeof meta);
我想知道为什么要保存'会自动扩展,我很好奇是否有办法找到一个'也自动扩展。我知道你不想总是扩展,因为它可能很难记忆,但这对于在特定时间返回完全展开的对象非常有用。
答案 0 :(得分:0)
您想填充所有相关模型吗?
Model
.findOne({name:''})
.populateAll()
.exec(
function(error,result){}
)
它将填充所有协会。如果您只想填充一个,可以使用
Model
.findOne({name:''})
.populate('project')
.exec(
function(error,result){}
)
更多。你可以使用'select','where'和amp;在populate中使用'limit'(与Mongo一起使用)
Model
.findOne({name:''})
.populate('project',{
{where: {field1: true}},
{select: ['field1','field2']},
limit: 3
})
.exec(
function(error,result){}
)
当然,您可以填充少数关联
Model
.findOne({name:''})
.populate('project')
.populate('owner')
.populate('othermodel')
.exec(
function(error,result){}
)