Mongodb文本搜索和ID字段

时间:2013-10-15 23:41:41

标签: mongodb full-text-search

我想在集合中的多个字段中搜索短语/字符串。我还需要将结果过滤到单个ID字段。

例如,在用户集合中搜索“john”

db.users.runCommand( "text", { search: "john" } )

当文件看起来像:

{
    "_id" : ObjectId("525d5f3fa385ab082e8b4693"),
    "first_name" : "John",
    "last_name" : "Doe",
    "email" : "john@doe.com",
    "account_id" : 1,
    "updated_at" : ISODate("2013-10-15T15:29:03.951Z"),
    "created_at" : ISODate("2013-10-15T15:29:03.951Z")
}

在“account_id”之上的情况下,将结果过滤到特定ID的最佳方法是什么,所以我只会搜索/返回“john”出现且account_id等于“1”的结果?

1 个答案:

答案 0 :(得分:2)

我相信这是使用过滤器选项完成的:

db.users.runCommand( "text", {
                                   search: "john",
                                   filter: { account_id : 1 }
                                 }
                       )

或者来自文档 - http://docs.mongodb.org/manual/tutorial/limit-number-of-items-scanned-for-text-search/