KeystoneJS变量相关帖子

时间:2015-09-29 09:07:20

标签: node.js keystonejs

我有db.commit()的架构,该地方的类型可以包含三个值Place。它们中的每一种都有一个单独的Schema,其中包含大量相关数据。

我的问题是;有没有办法可以将地点连接到模式中的正确对象?我知道我可以做一个City.find({...})来获取对象数据。

我确实添加了下面的代码,但它不能从管理部分的Place表单中编辑。是否有可能做到这一点?

region, country, city

我需要带有名称的place对象,然后需要存储在不同模式中的每种类型的数据。 keystone可以处理这个吗?

1 个答案:

答案 0 :(得分:1)

您必须在集合之间创建关系:

  1. 在Place模型(Place.js)中,为每个链接的集合添加一个字段

    Place.add({ title:{type:String,required:true}, region:{type:Types。 Relationship ,ref:' Region' }, 国家/地区:{类型:类型。关系,参考:'国家' }, 城市:{类型:类型。关系,参考:'城市' }, });

  2. 为每个链接集合创建一个模型:

    Region.add({     name:{type:String,required:true},     描述:{t​​ype:Types.Html,wysiwyg:true,身高:400} });

    Country.add({             name:{type:String,required:true},             描述:{t​​ype:Types.Html,wysiwyg:true,身高:400}     });

    City.add({         name:{type:String,required:true},         描述:{t​​ype:Types.Html,wysiwyg:true,身高:400} });

  3. 要在管理员中输入选择,您必须在地方定义中添加一个向下钻取属性(仍在您的模型中)

  4. var Place = new keystone.List(' Place',{     地图:{name:' title' },     下钻:'地区',     下钻:'国家',     深入研究:' City' });

    1. 不要忘记在keystone.js中添加路线以查看管理菜单项(请注意复数形式):

      keystone.set(' nav',{ ... '地点':'地点', .... });