【问题标题】:Node.js export to csv using - csv-expressNode.js 使用 csv-express 导出到 csv
【发布时间】:2018-04-09 16:50:18
【问题描述】:

我正在使用 npm "csv-express" 包将数据导出到 CSV。我无法让嵌套的供应商名称显示在导出的文件中。我使用 $lookup(聚合)从另一个集合中获取供应商名称。

导出的文件如下所示:

这是我的查询:

db.getCollection('systems').aggregate([
    { "$sort": { "sponsor": 1 } }, 
    { "$lookup": {
        "from": "vendors",
        "localField": "vendorID",
        "foreignField": "_id",
        "as": "vendor"
      }
    }, 
    { "$project":{
        "sponsor":1,
        "address":1,
        "city":1,
        "state":1,
        "vendor.name":1
      }
    }])

这是查询返回的内容:

/* 1 */
{
    "_id" : ObjectId("5ab55fee294f2366c054d5eb"),
    "sponsor" : "John Doe",
    "address" : "123 Western Ave",
    "city" : "Los Angeles",
    "state" : "CA",
    "vendor" : [ 
        {
            "name" : "West Interactive"
        }
    ]
}

我尝试了以下但没有运气。

db.getCollection('systems').aggregate([
{ "$sort": { "sponsor": 1 } }, 
{ "$lookup": {
    "from": "vendors",
    "localField": "vendorID",
    "foreignField": "_id",
    "as": "vendor"
  }
}, 
{ "$project":{
    "sponsor":1,
    "address":1,
    "city":1,
    "state":1,
    "vendor.[0].name":1
  }
}])

任何建议将不胜感激!

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    我找到了a great article,了解如何完成我需要的工作。

    这里是更新查询:

    db.getCollection('systems').aggregate([         
        { "$lookup": {
            "from": "vendors",
            "localField": "vendorID",
            "foreignField": "_id",
            "as": "vendor"
          }
        }, 
        **{ $unwind: "$vendor" },**
        { "$project":{
            "sponsor":1,
            "address":1,
            "city":1,
            "state":1,
            **"vendorName":"$vendor.name"**
          }
        }])
    

    这返回了我导出所需的数据。

    /* 1 */
    {
        "_id" : ObjectId("5ab55fee294f2366c054d5eb"),
        "sponsor" : "John Doe",
        "address" : "123 Western Ave",
        "city" : "Los Angeles",
        "state" : "CA",
        "vendorName" : "Acme Inc."
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      • 2019-04-26
      • 2013-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多