【发布时间】:2016-11-11 04:08:56
【问题描述】:
我的 mongo 数据库中有一个这样的集合,假设它称为分类。
{
"_id" : ObjectId("5810e15a762a39b41912a131"),
"validName" : "Eros",
"idUser" : ObjectId("1")
}
{
"_id" : ObjectId("5810e15a762a39b41912a132"),
"validName" : "Eros",
"idUser" : ObjectId("2")
}
我已经创建了一个复合索引,以便能够搜索我想要的两个值,例如这个。
db.taxonomic.createIndex({"idUser":1,"validName":1})
现在,我希望只有在集合的同一文档中找到两个参数时才能搜索并从中获取返回,这是我的尝试:
db.taxonomic.find({$text:{$search:"Eros 2"}},{idUser:1,validName:1})
这个方法的问题是它会返回任何匹配的“Eros”或“2”,我想要的是当“Eros”和“2”在集合的文档中匹配时返回值。
感谢您的帮助!
【问题讨论】:
-
你需要添加一个文本索引,你能告诉我你在哪个字段上创建了文本索引吗??
标签: mongodb full-text-search full-text-indexing