我在mongodb中使用sails js。

这是我的EventTags模型:

EventTags.js

module.exports = {

schema: true,

  attributes: {

          eventList: {
                collection: 'Events',
                via:'tagList'

            },

            event_tag_name:{ type:'string',
                 required:true,
                 unique:true
            }
  }
};


这是我的事件模型:

Events.js

module.exports = {


    schema: true,

  attributes: {

        tagList: {
                collection: 'EventTags',
                via:'eventList'
            },

        title:{ type:'string',required: true},

        blurb:{ type:'string'},

        description:{ type:'string'},

        venue: {type: 'string',required: true},
    }
};


创建了EventTags,这是我的json响应。

{

    "status": 109,
    "status_message": "success..!!",

    "event_tag_info": {

        "event_tag_name": "travel1",
        "createdAt": "2015-07-15T06:01:09.050Z",
        "updatedAt": "2015-07-15T06:01:09.050Z",
        "id": "55a5f725f7d707ba4f32ac74"
    }
}


接下来,我复制了EventTags ID,即“ id”:“ 55a5f725f7d707ba4f32ac74”。
事件模型。
这是事件模型发布数据。

{

    "tagList":"55a5f725f7d707ba4f32ac74",

    "title": "Snow City : Bengaluru",

    "blurb": "testtesttesttesttesttest",

    "description": "Toronto has been chosene city",

    "venue": "palace ground"

}




当我点击http://localhost:1337/events

我得到空的tagList数组。

[

  {

      tagList: [ ],
      title: "Snow City ",
      blurb: "some data",
      description: "some data",
      venue: "some address",
      id: "55a5f98ef7d707ba4f32ac75"
  }

]


请有人可以帮助我。

最佳答案

为了获取事件的标记列表,您需要填充tagList属性。

使用Blueprint API可以单击http://localhost:1337/events/55a5f98ef7d707ba4f32ac75/tagList

在控制器中,您将使用:

Event
  .findOne('55a5f98ef7d707ba4f32ac75')
  .populate('tagList')
  .exec(...);

10-06 14:19