2015-09-13 74 views
4

我創建一個帶有全名字段的用戶集合(即Jose Osorio,Jose castro,John smith,Maria Smith),我需要創建一個搜索欄來查找註冊用戶的名稱或姓氏。流星js:在用戶集合中創建索引

I.e.在搜索欄中輸入jose,我想看看Jose Osorio和Jose castro。

我讀了關於在數據庫中創建索引,但它沒有工作,或者我做錯了,我能做些什麼來解決這個問題?

+2

請你發佈你已經嘗試過的,以及它是如何出錯的? –

回答

3

可以使用例如來自mongo shell的db.books.createIndex({ "category": 1 })來完成。

+2

謝謝你爲我工作,如果你使用metor它是流星mongo db.yourcollection.createIndex({「field」:1},{unique:true}) – Spade

7

添加索引:

Meteor.startup(function() { 
    Meteor.users._ensureIndex({ "fullname": 1}); 
}); 

並作出選擇器,看看: https://atmospherejs.com/fourq/typeahead

+0

似乎是一個有用的未公開的函數。 –

+0

_ensureIndex已棄用。 – Jankapunkt

6

您也可以使用rawCollection這樣的:

Products.rawCollection().createIndex({ 
    "type": "text", 
    "searchString": "text", 
    "title": "text", 
    "brand": "text", 
    "description": "text" 
}, { 
    "weights": { 
     type: 5, 
     brand: 4, 
     title: 3, 
     searchString: 3, 
     description: 1 
    } 
}); 
+1

該解決方案使用Mongo最新的方法(createIndex)並在Meteor代碼中工作 - 它應該被接受! –