JSON数据/方括号剥离

时间:2013-11-10 11:00:27

标签: arrays json node.js

正在开发一种通过async.map组合来自多个数据源的数据的方法。但是我对新数据结构存在问题,即将多个文档合并为一个...每个记录周围的额外括号。

这是我的普通json文档的格式如下:

 {
 "_id": "527b16584930484431f054be",
 "caption": "lucky",
 "created_time": "1383652572",
 "full_name": "kkelcie",
 },
{
"_id": "527b16584930484431f054bd",
"caption": "Me with all my friends on our day off work. ",
"created_time": "1383798277",
"full_name": "zeftodeathbitch"
}

以下是来自多个查询的新数据格式化方式:

[
 {
  "_id": "52799ef14930484431ed58ed",
  "caption": "☀",
  "created_time": "1383698900",
  "full_name": "andreSDFFSdfazapata"
 }
],
[
 {
  "_id": "5279a7514930484431ed6b2f",
  "caption": "Clear Lake",
  "created_time": "1375497332",
  "full_name": "SCALLSDFFYSWAG"
  }
]

那么....如何剥离每个特定记录周围的方括号?现在没有任何工作:)

1 个答案:

答案 0 :(得分:1)

如果我们正在讨论您的问题here,您可能想要重写您的问题:

async.map(arLimit, function(eachrecord, callback){

  UGC_DB_Model.findOne().skip(eachrecord).limit(-1).exec(function(err, result) {
    if (err) {
      callback(err);
    } else {
      callback(null, result);
    }
  });

}, function(err, result) {
  if (err) return next(err);
  console.log("(it's empty): " + result); 
});

这使用findOne代替find; findOne将始终返回(最多)一个结果,而find将返回多个(作为数组)。但是因为你将结果限制为一个,findOne更合适。