首页 > 解决方案 > Meteor:可以按 _id 过滤集合,但我不能使用其他字段过滤集合

问题描述

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

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返回一个空集。我错过了什么?

标签: meteor

解决方案


我能想到的唯一原因是如果您没有ar_session_id在客户端中发布。

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

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

否则,假设您没有任何拼写错误,过滤没有理由为空。


推荐阅读