Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mongodb中数字字段的索引和搜索_Mongodb - Fatal编程技术网

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

mongodb中数字字段的索引和搜索,mongodb,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'}); 正确返回记录,但它在

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

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中是否还有其他方法可以使用它?

您将电话号码作为一个号码插入,然后作为字符串进行搜索

也许你应该考虑把电话号码插入为一个字符串。您不打算在该字段上执行任何算术操作,是吗


通过这种方式,mongo将能够对“数字”执行文本搜索(如您给出的示例),但将它们视为字符串。

mongo DB全文不支持部分搜索。因此它不起作用,与数字无关。

即使我像这样插入db.test1.insert({“name”:“kumar goyal”,“email”:“rakesh”)这样的数据,它也不起作用。goyal@gmail.com“,”电话号码“:”9742140651“});你为什么要在电话号码上做文本搜索,这其实有点奇怪。通常情况下,您需要将手机号码拆分为区号和实际号码,将它们进行整合,然后通过$gt和$lt按代币进行搜索