且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在Mongodb中使用聚合管道重新格式化集合

更新时间:2022-11-25 19:54:23

尝试使用此查询脚本

var results = db.meta.aggregate([{
  $project: {
    id: "$_did",
    _id: 0,
    keys: "$metadata.id",
    values: "$metadata.value"
  }
}])

function object(keys, values) {
  var obj = {};
  for (var index in keys) {
    obj[keys[index]] = values[index];
  }
  return obj;
}

results = results.map(function (res) {
  return {
    id: res.id,
    metadata: object(res.keys, res.values)
  }
})