问题描述
例如这样的数据:
{ 'name': 'Bob' 'friends': [ { 'name': 'Lucy', 'age': 18 }, { 'name': 'David', 'age': 17 } ]}
我希望返回这样一个 list: ['Lucy', 'David']。
其实说白了,我需要用这个返回的结果进行二次查询,比如查询 Lucy 和 David 的信息。
问题解答
回答1:限制fields,db.DATA.find({ }, { 'name' : 1 })
回答2:mongo 支持js语法,所以你可以用js的能力来修剪数据
> db.b.insert({ 'name': 'Bob', 'friends': [{ 'name': 'Lucy', 'age': 18},{ 'name': 'David', 'age': 17} ] }) WriteResult({ 'nInserted' : 1 })> db.b.findOne({name:'Bob'}).friends.map( x => x.name )[ 'Lucy', 'David' ]

