我想在集合中的多个字段中搜索短语/字符串。我还需要将结果过滤到单个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”的结果?
答案 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/