Mongoose Keystone.js数字字段类型调整

Mongoose Keystone.js数字字段类型调整,mongoose,keystonejs,Mongoose,Keystonejs,我正在尝试向keystone事件模型添加一个类似id的列。 我有以下几点 // models/Event.js var keystone = require('keystone'), Types = keystone.Field.Types; var Event = new keystone.List('Event'); Event.add({ FB_event_id: { type: Types.Number, required: true, initial: true },

我正在尝试向keystone事件模型添加一个类似id的列。 我有以下几点

// models/Event.js
var keystone = require('keystone'),
  Types = keystone.Field.Types;

var Event = new keystone.List('Event');

Event.add({
  FB_event_id:    { type: Types.Number, required: true, initial: true },
  name:           { type: Types.Text },
  FB_event_name:  { type: Types.Text },
  description:    { type: Types.Textarea },
  start_time:     { type: Types.Datetime },
  end_time:       { type: Types.Datetime },
  is_date_only:   { type: Types.Boolean },
  location:       { type: Types.Text },
  owner_name:     { type: Types.Text },
  updated_time:   { type: Types.Datetime },
  venue_name:     { type: Types.Text }, // typically given if lat/long data isn't
  venue_city :    { type: Types.Text },
  venue_lat :     { type: Types.Number },
  venue_long :    { type: Types.Number },
  venue_state :   { type: Types.Text },
  venue_street :  { type: Types.Text },
  venue_zip :     { type: Types.Number },
  cover_photo:    { type: Types.S3File }
});

Event.register();
在管理员界面中,我看到270385519824039的FB_事件_id,它更多的是一个数量号,而不是一个标识号。如何删除这些逗号?使用不同的字段类型? 是否仍然可以访问mongoose ObjectId字段类型?我想那太好了

这可能纯粹是一个美学问题。该id在数据库中存储时不带逗号


您可以通过指定“格式”选项来控制此设置,在您的情况下,您可能希望将其设置为false以完全禁用格式:

FB_event_id:    { type: Types.Number, format: false, required: true, initial: true }
我刚刚更新了文档,特别提到可以将此选项设置为false以完全禁用格式设置

ObjectId字段类型不是您想要的类型;这些字段由关系字段类型用于链接到数据库中的其他文档,并且应仅用于存储Mongo对象。任何其他值都会导致错误

就我个人而言,我经常使用字符串字段作为ID类型字段,它与数字字段一样有效,并减少了在Javascript中解析数字时出现意外行为的可能性