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

【字号: 日期:2023-06-26浏览:10作者:雯心

问题描述

比如这样

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

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

问题解答

回答1:

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

#!/usr/bin/env mongodb = 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])}

在mongo环境里可以使用的functions见Write Scripts for the mongo Shell

相关文章: