Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sails.js 要在mongodb的水线中使用_id而不是id吗_Sails.js_Waterline_Sails Mongo - Fatal编程技术网

Sails.js 要在mongodb的水线中使用_id而不是id吗

Sails.js 要在mongodb的水线中使用_id而不是id吗,sails.js,waterline,sails-mongo,Sails.js,Waterline,Sails Mongo,我有一个例子,我需要为我正在工作的给定项目中的所有模型更改主键名称id与_id的默认引用 有一个正在生产的express.js+mongoose设置。数据库中的数据由用户使用移动应用程序直接引用。移动应用程序的代码非常清楚,在它以JSON格式接收的所有文档中,读取_id作为密钥 由于sails使用waterline,其默认键名为id,并且它映射到mongodb的\u id,因此底层数据库将按原样使用,但在中间件上,我们总是将其读取为id 我在网络上搜索过,并试图在config/models.js

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

有一个正在生产的express.js+mongoose设置。数据库中的数据由用户使用移动应用程序直接引用。移动应用程序的代码非常清楚,在它以JSON格式接收的所有文档中,读取_id作为密钥

由于sails使用waterline,其默认键名为id,并且它映射到mongodb的\u id,因此底层数据库将按原样使用,但在中间件上,我们总是将其读取为id


我在网络上搜索过,并试图在config/models.js中使用默认id名称作为_id,但架构创建输出一个错误,指出\u id,_id被使用了两次。

生产数据库,Waterline。。。我建议不要实际更改主键。见鬼,如果你使用的是更成熟的ORM,我建议你不要使用这种活动扳手

相反,我说,在您的操作中转换关键名称。e、 g.在action2中,您只需在函数末尾返回模板变量:

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

_id:r.id,//您不需要在任何地方都将id更改为_id。只需进行模型配置。在其他地方,只需将“id”与类型字符串一起使用即可。您好,谢谢!但是……这并不能解决我的问题,因为我的移动应用程序都接受了理解_id的教育。我们在sailsjs中使用的模型以id作为名称,json包含id作为键,而不是_id。