2016-04-22 62 views
0

我写了这个命令:MongoDB的 - PHP和全文搜索

db.collection.find(
     { $text: {$search: "foo query string"}}, 
     { score: {$meta : "textScore"} } 
    ).sort({ score:{$meta: "textScore"}}) 

它工作正常,在mongo shell,但我想转换成php这一点。然后我写不同,但相同的PHP查询:

​​

在这种情况下,我得到一个错误:

127.0.0.1:27017: Can't canonicalize query: BadValue must have 
       $meta projection for all $meta sort keys 

显然创建Index。 我不知道什么是错的。你可以帮我吗?先谢谢你。

回答

1

您的查询部分的错误,我认为它应该是

['$text' => ['$search' => 'foo query string']] 
+0

事实上,我忘了,但错误没有消失。 – betty39johnson

+0

刚刚发现http://stackoverflow.com/a/23159722/5982920这是相当广泛的,你能检查它是否摆脱任何光线? – malarzm

+0

我有相同的代码,但我现在跳过排序,它看起来像一个文本搜索操作符不工作“未知的操作符:$文本” – betty39johnson