MongoDB:避免查询结果中存在某些字段

时间:2015-09-28 15:37:24

标签: mongodb meteor

我有一个类似于:

的数据库模式
{
  foreignKeyId: String
  question: String
  ...: ...
  answers: [
    {
       answerText: String
       isCorrect: Boolean
    }
    ,
    ...
  ]
}

我现在想要一个find() - 查询通过foreignKeyId查询文档,并且只包含字段foreignKeyId,question和answers。$。answerText。

当我使用MeteorJS时,我无法将光标返回到数据库。

当我像{fields: {foreignKeyId: 1, "answers.$.answerText":1}}一样过滤它时,我收到一个错误,即投影与我的查询不匹配

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。

不是

db.find(query, {fields: {"array.$.subkey": 1}});

它是

db.find(query, {fields: {"array.subkey": 1}});