Javascript 最佳实践,如何从mongoose中的参考字段获取信息?
我有一个Schema Users,它有一个类型为Javascript 最佳实践,如何从mongoose中的参考字段获取信息?,javascript,mongodb,api,mongoose,Javascript,Mongodb,Api,Mongoose,我有一个Schema Users,它有一个类型为mongoose.Schema.Types.ObjectId的字段管理器,该字段管理器从另一个具有其他管理器信息的架构中放置管理器的id。 当我想在调用用户模式的结果中输入管理器名称时,我使用for循环,如下所示: const res = await axios.get('/api/users/all'); const config = { headers: { 'Content-Type': 'applicat
mongoose.Schema.Types.ObjectId的字段管理器,该字段管理器从另一个具有其他管理器信息的架构中放置管理器的id。
当我想在调用用户模式的结果中输入管理器名称时,我使用for循环,如下所示:
const res = await axios.get('/api/users/all');
const config = {
headers: {
'Content-Type': 'application/json',
},
};
//adding planner name to the data
for (let element of res.data) {
element.plannerName = await axios.post(
'/api/planners/plannerName',
{ id: element.planner },
config
);
}
这是可行的,但我觉得这是一个缓慢的解决方案。我是这个领域的新手,我想知道这是否是完成这项任务的最佳实践。
谢谢大家! 您要查找的是数据库语言中的join
您必须将用户集合与管理器集合合并。为此,可以在查找后使用populate()
函数
代码如下:
let users=wait User.find({}).populate('manager');
非常感谢您。这就是我要找的。我将确保阅读更多关于使用数据库中的populate和dictuals而不是在前端运行JS脚本来获取更好的查询的内容。我认为这样的性能更好。检查Model.aggregation()
它是mongodb
和mongoose
的强大功能。