我在我的项目中使用了以下软件包 - https://github.com/matteodem/meteor-easy-search
是否有人使用它并且能够为查询参数设置自定义mongo选择器?排行榜的例子对我来说并不是很清楚。我需要能够将meteor用户ID传递给:
EasySearch.createSearchIndex('producers', {
'collection': Producers,
'field': ['name', 'producerIdNumber', 'blocksCount', 'totalHectares', 'totalArea'],
'limit': 8,
'use' : 'mongo-db',
'sort': function() {
return { 'created': -1, 'name': -1 };
},
'query': function() {
var selector = {};
return selector
}
});
如何传递或获取流星用户ID? EasySearch.createSearchIndex函数在服务器和客户端上运行。
答案 0 :(得分:1)
我无法解决您的问题 - 但我可能会指出您正确的方向。如果您使用的是meteor-accounts软件包,并且需要从Meteor.users()集合中提取用户ID,则首先必须发布您的用户。
在服务器代码 - >
上Meteor.publish(null, function() {
return Meteor.users.find({}, {
fields: {
username: 1,
profile: 1
}
});
});
在客户端上,您应该能够返回Meteor.users.find()或findOne()来获取userId。不是完整的答案,但可能有所帮助?
答案 1 :(得分:0)
我能够这样做
'query': function(searchString, opts) {
// Default query that will be used for the mongo-db selector
var query = EasySearch.getSearcher(this.use).defaultQuery(this, searchString);
if (this.props.formName != '') {
query.formName = this.props.formName;
}
if (this.props.producerId != '') {
query.producerId = this.props.producerId;
}
if (this.props.blockUnitCodeSubCode != '') {
query.blockUnitCodeSubCode = this.props.blockUnitCodeSubCode;
}
if (this.props.created.length != 0) {
query.created = {$gte:new Date(this.props.created[0]), $lt:new Date(this.props.created[1])};
}