2016-04-22 60 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