2

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

例如,在 users 集合中搜索“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”的结果?

4

1 回答 1

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/

于 2013-10-15T23:51:33.650 回答