MongoDB - PHP和全文搜索

时间:2016-04-22 07:12:33

标签: php mongodb full-text-search

我写了这个命令:

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

它在mongo shell中运行良好,但我希望将其转换为php。然后我写了不同但相同的php查询:

    $store = $db->collection->find([
        ['$text' => 'foo query string'],
        ['score' => ['$meta' => 'textScore']]
    ])->sort(['score' => ['$meta' => 'textScore']]);

在这种情况下,我收到错误:

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

显然Index已创建。 我不知道出了什么问题。你能帮助我吗?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您的查询部分出错,我相信应该是

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