我目前正在使用{{#each user}}的网页上显示来自Meteor.users.find()的所有用户。但是,我想根据邮政编码限制我的搜索。
列出页面上的所有用户。
// Step 1: User input (OK)
input_zip = '1234';
// Step 2: Get city name for this ZIP (OK)
var zip_place = Locations.findOne({ zipCode: input_zip })['place'];
// Step 3: Get all zip codes in that city (OK)
var zip_codes = Locations.find({ place: zip_place }).fetch();
// Step 4 (I'm aware this syntax is totally wrong, but you get the idea)
var zip_users = Meteor.users.find({ profile.zipcode: zip_codes }).fetch();
// Step 5: List users on page with zip codes in that array.
{{#each user in zip_users}}
<p>bla bla</p>
{{/each}}
使用数组中的值搜索用户的最有效方法是什么? 完整的代码示例将非常感谢。谢谢。
答案 0 :(得分:2)
Yo可以使用 $ in 运算符来实现此目的。
Meteor.users.find({ 'profile.zipcode':{$in: zip_codes} }).fetch();
有关 $ in 运算符的详细信息,请转到mongo manual