我创建一个带有全名字段的用户集合(即Jose Osorio,Jose castro,John smith,Maria Smith),我需要创建一个搜索栏来查找注册用户的名称或姓氏。流星js:在用户集合中创建索引
I.e.在搜索栏中输入jose,我想看看Jose Osorio和Jose castro。
我读了关于在数据库中创建索引,但它没有工作,或者我做错了,我能做些什么来解决这个问题?
我创建一个带有全名字段的用户集合(即Jose Osorio,Jose castro,John smith,Maria Smith),我需要创建一个搜索栏来查找注册用户的名称或姓氏。流星js:在用户集合中创建索引
I.e.在搜索栏中输入jose,我想看看Jose Osorio和Jose castro。
我读了关于在数据库中创建索引,但它没有工作,或者我做错了,我能做些什么来解决这个问题?
可以使用例如来自mongo shell的db.books.createIndex({ "category": 1 })
来完成。
谢谢你为我工作,如果你使用metor它是流星mongo db.yourcollection.createIndex({“field”:1},{unique:true}) – Spade
添加索引:
Meteor.startup(function() {
Meteor.users._ensureIndex({ "fullname": 1});
});
并作出选择器,看看: https://atmospherejs.com/fourq/typeahead
似乎是一个有用的未公开的函数。 –
_ensureIndex已弃用。 – Jankapunkt
您也可以使用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
}
});
该解决方案使用Mongo最新的方法(createIndex)并在Meteor代码中工作 - 它应该被接受! –
请你发布你已经尝试过的,以及它是如何出错的? –