想要在mongodb的水线中使用_id代替id

问题描述 投票:0回答:1

我有一个案例,我需要为正在工作的给定项目中的所有模型的主键名称id和_id更改默认引用。

有一个express.js +猫鼬设置正在生产中。用户使用移动应用程序直接引用数据库中存在的数据。而且,移动应用程序的代码非常清楚读取_id作为它在JSON中收到的所有文档中的键。

由于Sails使用的水线的默认键名为id,并且它映射到mongodb的_ id,因此将直接使用基础数据库,但是在中间件上,我们始终将其读取为< [id。

我在网上搜索并尝试在config / models.js中使用默认ID名称作为_id,但是架构创建输出错误,指出两次使用

_ id,_id

sails.js waterline sails-mongo
1个回答
0
投票
生产数据库,水线...我建议您不要实际更改主键。哎呀,如果您使用的是成熟得多的ORM,我建议您不要使用这种猴子扳手。

相反,我说的是在您的操作中转换键名。例如在action2中,您只需在函数末尾返回模板变量:

r = await Model.findOne(where); return { _id: r.id, // <---- this bit <---- etc: r.etc }

然后将一个JSON结构作为您的视图模板。
© www.soinside.com 2019 - 2024. All rights reserved.