在对数据库进行查询时向json添加元素

时间:2015-03-27 14:41:56

标签: json node.js asynchronous

我在对数据库进行查询时操作json时遇到问题。我有一个表格Genre具有以下属性:id,name,parent_id。我希望获得每个具有id = null的类型,并为每个类型添加属性子项,其中parent_id等于其id。

这是我到目前为止所做的:

getGenres: function (req, res) {
  Genres.find().where({parent_id : null}).exec(function(err, elements) {
    if (err)
      console.log(err);
    else {
      async.each(elements, function(item, callback) {
        Genres.find().where({parent_id: item.id}).exec(function(err, items) {
          console.log(items);
          item['children'] = items; //Doesn't work but that's the idea
          callback();
        })
      })
    res.send(elements);
    }
})

} 我得到了我想要的东西,我只是不知道如何将它们添加到json中。

2 个答案:

答案 0 :(得分:0)

你试过这个吗?

    item.children = items;

答案 1 :(得分:0)

好的,我发现了我的错误,这是正常的:

getGenres: function (req, res) {
  Genres.find().where({parent_id : null}).exec(function(err, elements) {
    if (err)
      res.send(err);
    else {
      async.each(elements, function(item, callback) {
        Genres.find().where({parent_id: item.id}).exec(function(err, items) {
          item.children = items; 
          callback();
        })
      }, function(err) {
        if (err)
          res.send(err);

        res.send(elements);
      });
    }
  })
}