在mongodb中索引和搜索数字字段

时间:2013-10-24 10:12:24

标签: mongodb

我创建了以下集合和文本索引:

db.test1.insert({"name":"kumar goyal","email":'rakesh.goyal@gmail.com',"phoneNo":9742140651});
db.test1.ensureIndex({ "$**": "text" },{ name: "TextIndex" })

部分搜索适用于姓名和电子邮件字段,例如

db.test1.runCommand("text",{search:'rakesh'});

正确地返回记录,但它不在phoneNo字段上。

db.test1.runCommand("text",{search:'9742'}); 

无效。

我猜文本索引不适用于数字字段。反正有没有让它在mongodb中工作?

2 个答案:

答案 0 :(得分:2)

您正在将电话号码作为号码插入,然后将其作为字符串进行搜索。

也许您应该考虑将电话号码插入字符串。您不打算在该字段上执行任何算术操作吗?

这样mongo就可以在“数字”上执行文本搜索(就像你给出的那样),但会将它们视为字符串。

答案 1 :(得分:0)

Mongo DB全文不支持部分搜索。因此它没有用,与数字无关。