流星:可以通过_id过滤集合,但无法使用其他字段过滤集合

时间:2019-08-01 14:56:57

标签: meteor

我对流星还很陌生,我仍在尝试寻找过滤集合。这是我的问题,我有一个如下定义的集合;

parent_id: {
    label: 'Parent ID',
    type: String,
  },
ar_session_id: {
    label: 'Session ID',
    type: String,
  },

我插入了一些文档,这里是一个;

{
  "_id" : "oQdtbBtKXHzdxWvzn",
  "parent_id" : "dJkbDBXut5WzwkaFN",
  "ar_session_id" : "dJkbDBXut5WzwkaFNuz77MFgcuGyvgokip",
  "question" : "Do you have blah blah...?",
  "answer" : "no",
  "createdAt" : 1564563509127
}

我可以使用parent_id进行过滤,但是我不能使用ar_session_id进行过滤

var parent_id = "dJkbDBXut5WzwkaFN";
var ar_session_id = "dJkbDBXut5WzwkaFNuz77MFgcuGyvgokip";

qry1 = AssessmentResponse.find({parent_id: parent_id}).fetch();
qry2 = AssessmentResponse.find({ar_session_id: ar_session_id}).fetch();

qry2返回一个空集。我想念的是什么?

1 个答案:

答案 0 :(得分:1)

我唯一想到的原因是您是否不在客户端中发布ar_session_id

例如,如果您有这样的事情:

Meteor.publish("AssessmentResponse", function () {
  return AssessmentResponse.find({}, { fields: { ar_session_id: 0 } });
});

否则,假设您没有任何错字,则没有理由将过滤设为空。