正在使用的数据是:
{
'name':'Arsenal FC',
'squad':[
{
'id':'3174',
'name':'Bernd Leno',
'position':'Goalkeeper',
'dateOfBirth':'1992-03-04',
'nationality':'Germany',
'role':'PLAYER'
},
{
'id':'7778',
'name':'Petr Čech',
'position':'Goalkeeper',
'dateOfBirth':'1982-05-20',
'nationality':'Czech Republic',
'role':'PLAYER'
},
{
'id':'7780',
'name':'Deyan Iliev',
'position':'Goalkeeper',
'dateOfBirth':'1995-02-25',
'nationality':'FYR Macedonia',
'role':'PLAYER'
}
]
}
我正在尝试返回单个玩家对象,如下所示:
{
'id':'7778',
'name':'Petr Čech',
'position':'Goalkeeper',
'dateOfBirth':'1982-05-20',
'nationality':'Czech Republic',
'role':'PLAYER'
}
我正在使用mongodb,正在使用的查询是{"squad.id": id}
,其ID来自用户输入,但是,这将返回整个数据集。如何获得返回单个玩家的奖励?
答案 0 :(得分:0)
MongoDB确实允许查询数组中的嵌套对象属性,但不能仅投影数组的特定元素。
但是,如果愿意,可以使用汇总查询而不是查找,然后使用$indexOfArray根据表达式在数组中查找元素的索引,然后仅使用{{3} }