如何使用平均堆栈访问Schema.ObjectId以获取客户端上的对象json?

时间:2013-12-31 04:57:38

标签: javascript json node.js angularjs mean-stack

我的架构如下:

super.js:

var superSchema = new Schema({
  title: {
    type: String,
    default: '',
    trim: true
  },
  item: [{
    type: Schema.ObjectId,
    ref: 'Item'
  }]
});

item.js:

var itemSchema = new Schema({
  name: {
    type: String,
    default: '',
    trim: true
  }
});

我的json然后看起来像这样:

[{
    "title": "Team 1",
    "items": [
      "52c23f2129sdf1720d000006",
      "52c23f2129asd1720d000006",
      "52c23f212992cfdsd00000f6"]
},{
    "title": "Team 2",
    "items": [
      "52c23f2129sdf1720d000006",
      "52c23f2129asd1720d000006",
      "52c23f212992cfdsd00000f6"]
}]

然后我尝试访问list.html文件中的item[0].name,如{{item[0].name}},但它不返回任何内容,而item [0]返回id。

如何在我的angular html文件中访问item [0] .name?

我的 superDuperController.js

$scope.find = function() {
    SuperDuper.query(function(superDuper) {
        $scope.superDuper = superDuper;
    });
};

1 个答案:

答案 0 :(得分:2)

您需要在将响应发送到客户端之前填充您的项目。

Super.find({_id: super_id}).populate('item').exec(function(err, super) {
    if(err) {

    }
    else {
    // Populated the items
    // Send the **super** in response
    }

})

现在,您可以在客户端访问{{item[0].name}}