MongoDB 查询如何返回数组型数据?

浏览:53日期:2023-07-14

问题描述

例如这样的数据:

{ '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' ]

相关文章: