我有一个案例,我需要为正在工作的给定项目中的所有模型的主键名称id和_id更改默认引用。
有一个express.js +猫鼬设置正在生产中。用户使用移动应用程序直接引用数据库中存在的数据。而且,移动应用程序的代码非常清楚读取_id作为它在JSON中收到的所有文档中的键。
由于Sails使用的水线的默认键名为id,并且它映射到mongodb的_ id,因此将直接使用基础数据库,但是在中间件上,我们始终将其读取为< [id。
我在网上搜索并尝试在config / models.js中使用默认ID名称作为_id,但是架构创建输出错误,指出两次使用_ id,_id
。相反,我说的是在您的操作中转换键名。例如在action2中,您只需在函数末尾返回模板变量:
r = await Model.findOne(where);
return {
_id: r.id, // <---- this bit <----
etc: r.etc
}
然后将一个JSON结构作为您的视图模板。