MongoDB搜索关键字

时间:2014-06-04 18:00:18

标签: mongodb

我正在尝试创建一个搜索功能来搜索存储在mongo中的集合。我希望能够根据关键字进行搜索。

示例:通过在一个或多个属性中键入“adam”返回带有关键字“adam”的对象来搜索用户。

但是如何在整个对象中搜索关键字而不是仅搜索一个属性?

我通过一次搜索所有字段并将结果附加在一起来实现它,但这有点混乱,我不喜欢它。

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:0)

您可以通过在集合字段上添加文本索引来使用mongodb文本搜索功能。请看一下mongodb docs,它用例子解释它

http://docs.mongodb.org/manual/core/index-text/

答案 1 :(得分:0)

您只需索引一个数组字段。

> db.myColl.find().pretty()
{
     title: "My post"
     tags:  [ "Linux", "SO" ]
}

> db.myColl.ensureIndex({ tags: 1 })
> db.mycoll.find({ tags: "Linux" }).pretty()
{
     title: "My post"
     tags:  [ "Linux", "SO" ]
}