正在开发一种通过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"
}
]
那么....如何剥离每个特定记录周围的方括号?现在没有任何工作:)
答案 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
更合适。