MongoDB:查询匹配的子文档字段?

时间:2014-08-04 09:45:53

标签: mongodb meteor

我有以下文件:

  {
   _id: ,
   players:[
   {player_id: ,
   answer: ,
   },
   {player_id:
   answer:
   }, ... 
   ]
   }

我想返回匹配的player_id的答案。 我尝试使用投影运算符$构建查询,但没有成功:

 Game.findOne({"players.player_id": Meteor.userId()}, {"players.$": 1});

这应该只返回数组播放器中的一个元素,但它会返回所有元素。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

在流星文档中找到:

$和$ elemMatch等字段运算符尚未在客户端提供。

http://docs.meteor.com/#fieldspecifiers

答案 1 :(得分:0)

Game.findOne({"players.player_id": Meteor.userId()}, {"players": {$elemMatch: {player_id: Meteor.userId() }}}); 

应该有效。搜索mongodb投影$ elemMatch。我在移动设备上,稍后会给你相关文件