开发者社区 问答 正文

mongo怎么导出一个内嵌数组中的某些信息

比如这样

{
  "_id": 1,
  "array": [
    {"name": "a", "price": "2","amount":1},
    {"name": "b", "price": "2","amount":2},
    {"name": "c", "price": "3","amount":4}  
  ] 
}

我只想把name属性和price属性导出,该怎么做呢?用mongoexport貌似无法实现啊,诸位有什么好的办法吗?

展开
收起
蛮大人123 2016-06-15 17:07:42 2359 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    mongo支持js脚本,可以用javascript脚本批量处理和导出数据:

    #!/usr/bin/env mongo
    db = db.getSiblingDB(db_name)
    // db.auth("user", "passwd");
    
    result = {};
    db.clt_name.find().forEach(function(r) {
        // 这里是回调函数,r就是每一条记录,是一个object对象,可以遍历r.array,把需要的属性存入result
    })
    
    for (var key in result) {
        // 按照你希望的格式输出:
        print(key + "\t" + result[key])
    }
    2019-07-17 19:39:46
    赞同 展开评论
问答地址: