问题描述
mongodb中数据结构为{’_id’: 1, ’name’: ’a’}{’_id’: 2, ’name’: ’b’}{’_id’: 3, ’name’: ’c’}现在可以通过db.collection.find({}, {’name’: 1})得到list为:[ {’name’: ’a’}, {’name’: ’b’}, {’name’: ’c’}]有什么方法可以得到下面的值吗(不希望把数据load到内存再循环list进行处理,mongodb本身有没有提供什么方法)[’a’, ’b’, ’c’]
问题解答
回答1:mongodb 支持js语法,所以直接用map就可以了
// es6 db.collection.find({}, {’name’: 1}).map( x => x.name ) // [ 'a', 'b', 'c' ]db.collection.find({}, {’name’: 1}).map(function(x) {return x.name} )
map介绍请看 https://danmartensen.svbtle.com/javascripts-map-reduce-and-filter#map_1

