// many-to-many association
// Adding pet.id:20 into user
user.pets.add(20);
user.save(function(err,s){
// Inefficient
Pet.findOne(20).exec(function(err, pet){
})
});
有没有办法引用我刚刚添加了关联的宠物?执行无意义查询是低效的,因为s返回刚刚保存的对象。如果有办法通过像s.pets(无论如何)这样做来引用宠物,那将会很有用。
答案 0 :(得分:1)
每次都没有办法绕过查询,因为在更新模型时,服务器不会在内存中加载其他模型(即关系)来执行此操作。
您可以尝试的方法是,每次都不要使用特定集合的toJSON
(ref.)或override the update
blueprint action来覆盖所有集合。但总的来说,当你需要它时,获取它可能并不是一个坏主意。